baseline

yet another open-source distributed versioning control system
Log | Files | Refs

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.