baseline.1 (4662B)
1 .\" Copyright (c) 2014 Mohamed Aslan <maslan@sce.carleton.ca> 2 .\" 3 .\" Permission to use, copy, modify, and distribute this software for any 4 .\" purpose with or without fee is hereby granted, provided that the above 5 .\" copyright notice and this permission notice appear in all copies. 6 .\" 7 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 10 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 12 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 13 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 .Dd $Mdocdate$ 15 .Dt BASELINE 1 16 .Os 17 .Sh NAME 18 .Nm baseline 19 .Nd distributed versioning control system 20 .Sh SYNOPSIS 21 .Nm 22 .Op Cm add Ar [file or dir] 23 .Op Cm branch Fl c | l | s 24 .Op Cm cat Fl c 25 .Op Cm commit Fl m 26 .Op Cm diff 27 .Op Cm help 28 .Op Cm init 29 .Op Cm log Fl c | f | n 30 .Op Cm ls Fl c | R 31 .Op Cm version 32 .Sh DESCRIPTION 33 The 34 .Nm 35 utility provides a command line interface to create or update a 36 .Nm 37 repository. 38 .Nm 39 is yet another open-source distributed versioning control system, modeled after git. 40 .Nm 41 was made to be so simple following a suckless KISS design, and a clean KNF codebase. 42 .Nm 43 is available under the terms of ISC, a permissive free software licence. 44 .Sh ENVIRONMENT 45 .Bl -tag -width Ds 46 .It Ev EDITOR 47 when 48 .Nm 49 needs to launch a text-editor and the default editor is not specified in the repository configuration file, 50 .Nm 51 will then look if the EDITOR environmental variable is set and or not, and if it is set 52 .Nm 53 will attempt to use it. 54 .Sh FILES 55 .Bl -tag -width Ds 56 .It Pa .baseline/config 57 This file contains the configuration options for a 58 .Nm 59 repository. 60 .Sh EXIT STATUS 61 .Ex -std baseline 62 .Sh EXAMPLES 63 To find out which version of baseline is installed: 64 .Dl $ baseline version 65 .Pp 66 To create a new repository in the current working directory: 67 .Dl $ baseline init 68 .Pp 69 To add a specific file or directory to your staging area: 70 .Dl $ baseline add <filename> 71 Or, to add all files and directories to your staging area: 72 .Dl $ baseline add \&. 73 .Pp 74 To commit your staged changes: 75 .Dl $ baseline commit -m 'my commit message' 76 If the -m flag was omitted, baseline will: 77 .Bl -bullet -compact 78 .It 79 first, search your .baseline/config, for a variable called ``editor''. 80 .It 81 then, will try the EDITOR environmental variable. 82 .It 83 otherwise, baseline will complain about missing commit message. 84 .El 85 .Pp 86 To display a diff or generate a patch between a commit and its parent: 87 .Dl $ baseline diff <commit id> 88 To display a diff between any two commits: 89 .Dl $ baseline diff <commit A id> <commit B id> 90 .Pp 91 To list all commits: 92 .Dl $ baseline log 93 To list all commits starting from a specific commit: 94 .Dl $ baseline log -c <commit id> 95 To limit the number of commits being displayed: 96 .Dl $ baseline log -n <number of commits> 97 To format the output of log command: 98 .Dl $ baseline log -f <format> 99 Currently the log command supports the following specifiers for each commit: 100 .Bl -bullet -compact 101 .It 102 %n: a number representing the order of the commit in the log list. 103 .It 104 %an: the author's name. 105 .It 106 %ae: the author's email address. 107 .It 108 %at: the author's commit timestamp. 109 .It 110 %cn: the committer's name. 111 .It 112 %ce: the committer's email address. 113 .It 114 %ct: the committer's commit timestamp. 115 .It 116 %m: the commit's message. 117 .It 118 \&\\n: a new line. 119 .It 120 \&\\t: a tab space. 121 .It 122 Any other character will be displayed as it is. 123 .El 124 .Pp 125 To list files and directories: 126 .Dl $ baseline ls 127 To recursively list files and directories: 128 .Dl $ baseline ls -R 129 To list file and directories for a specific commit: 130 .Dl $ baseline -c <commit id> 131 .Pp 132 To get the content of a certain file written to the stdout: 133 .Dl $ baseline cat </path/to/file> 134 You can easily redirect the output to any other file: 135 .Dl $ baseline cat </path/to/file> > myfile.txt 136 To get the content of a certain file within a certain commit: 137 .Dl $ baseline cat -c <commit id> </path/to/file> 138 .Pp 139 To find the name of the current branch: 140 .Dl $ baseline branch 141 To list all the available branches: 142 .Dl $ baseline branch -l 143 To create a new branch from the current branch: 144 .Dl $ baseline branch -c <branch name> 145 To switch branches: 146 .Dl $ baseline branch -s <branch name> 147 .\" .Sh SEE ALSO 148 .\" .Xr foobar 1 149 .\" .Sh HISTORY 150 .Sh AUTHORS 151 The 152 .Nm 153 utility was written by 154 .An Mohamed Aslan Aq Mt maslan@sce.carleton.ca . 155 .Sh BUGS 156 .Nm 157 is currently in pre-alpha status, thus far from having any usefulness. That means you can play with it at your own risk.