man cogito (Conventions) - version control system

NAME

cogito - version control system

SYNOPSIS

cg-COMMAND <arg>...

DESCRIPTION

Cogito is a version control system layered on top of the git tree history storage system. Amongst some of the noteworthy features, Cogito has support for branching, tagging and multiple backends for distributing repositories (local files, rsync, HTTP, ssh).

Cogito is implemented as a series of bash(1) scripts on top of git(7) (a content-tracking filesystem) with the goal of providing an interface for working with the GIT database in a manner similar to other SCM tools (like CVS, BitKeeper or Monotone).

COMMANDS OVERVIEW

The Cogito commands can be split into regular commands and advanced commands. The regular commands are those used for normal interacting with the repository, while the advanced commands can be used for administrating the repository and should to some degree be regarded as low-level and in some cases dangerous.

Below an overview of the available commands are listed. For details on individual commands, do e.g.

cg-help cg-log

or

cg-log --help

Regular commands

cg-add [-N] [-r] FILE...
Add files to the GIT repository.
cg-branch-add BRANCH_NAME LOCATION
Add new remote branch to the GIT repository.
cg-branch-chg BRANCH_NAME NEW_LOCATION
Change GIT branch's repository URL.
cg-branch-ls
List configured GIT branches.
cg-clean [-d] [-D] [-n] [-q] [-x]
Clean unknown files from the working tree.
cg-clone [-l] [-s] LOCATION [DESTDIR]
Clone a remote GIT repository.
cg-commit [-m MESSAGE]... [-C] [-e | -E] [-c COMMIT_ID] [FILE]... [< MESSAGE]
Commit into a GIT repository.
cg-diff [-c] [-m] [-s] [-p] [-r FROM_ID[..TO_ID]] [FILE]...
Make a diff between two GIT trees.
cg-export [-r TREE_ID] DESTFILE
Exports a particular revision from a GIT repository.
cg-fetch [-f] [-v] [BRANCH_NAME]
Fetch changes from a remote branch to the local GIT repository.
cg-help [-c] [cg-COMMAND | COMMAND]
Show help for Cogito commands.
cg-init [-I] [-N] [-e EXCLUDEPATTERN]... [-m MESSAGE]...
Initialize a GIT repository.
cg-log [-c] [-f] [-m] [-s] [-uUSERNAME] [-d DATE] [-r FROM_ID[..TO_ID]] [--summary] FILE...
Make a log of changes in a GIT branch.
cg-merge [-c] [-b BASE_COMMIT] [-j] [--squash] [BRANCH_NAME]
Merge a branch to the current tree.
cg-mkpatch [-m] [-s] [-r FROM_ID[..TO_ID] [-d DIRNAME]]
Make a patch from one or several commits.
cg-object-id [-c | -n | -p | -t] [OBJECT_ID]
Get SHA1 ID of commit or tree associated with given ID or HEAD.
cg-patch [-R] < patch on stdin
Apply a diff generated by cg-diff.
cg-push [BRANCH_NAME] [-t TAG]...
Push changes to a remote GIT repository.
cg-reset [--adds-removes]
Resets the state of the working tree.
cg-restore [-f] [-r ID] [FILE]...
Restore files in the working tree to state at the given/last commit.
cg-rm [-f] [-n] FILE...
Remove files from a GIT repository.
cg-seek [COMMIT_ID]
Seek the working tree to a given commit.
cg-status [-g] [[-n] -s STATUS] [-w] [-x] [DIRPATH]
Show status of your working tree.
cg-tag [-d DESCRIPTION] [-s [-k KEYNAME]] TAG_NAME [OBJECT_ID]
Mark certain commit by a tag.
cg-tag-ls
List stored GIT tags.
cg-update [-f] [--squash] [BRANCH_NAME]
Pull and merge changes from a branch to the local repository.
cg-version
Show the version of the Cogito toolkit.

Advanced commands

cg-admin-cat [-r TREE_ID] FILE...
Cat a file(s) by filename from a GIT repository.
cg-admin-ls [-t TREE_ID] [PATH]
List contents of a particular tree in a GIT repository.
cg-admin-lsobj [OBJECT_TYPE]
List objects of the GIT repository.
cg-admin-setuprepo [-g GROUP] DIRECTORY
Setup a public GIT repository.
cg-admin-uncommit [-t] [COMMIT_ID]
Undo a commit or a series of commits.

Helper commands

There are a few helper commands that are not meant to be used from the command line. They provide a library of generic functions used by many of the real Cogito commands. You can safely ignore them, unless you want to contribute to Cogito development.

cg-Xfetchprogress
Show a cute progressbar for cg-fetch.
cg-Xlib
Common code shared by the Cogito toolkit.
cg-Xmergefile
Merge two files.
cg-object-id [-c | -n | -p | -t] [OBJECT_ID]
Get SHA1 ID of commit or tree associated with given ID or HEAD.

COMMAND IDENTIFIERS

BRANCH_NAME
Indicates a branch name added with the cg-branch-add(1) command.
COMMAND
Indicates a Cogito command. The cg- prefix is optional.
LOCATION
Indicates a local file path or a URI. See cg-branch-add(1) for a list of supported URI schemes.
COMMIT_ID, FROM_ID, TO_ID, BASE_COMMIT
Indicates an ID resolving to a commit. The following expressions can be used interchangeably as IDs:
•
empty string, this or HEAD (current HEAD)
•
branch name (as registered with cg-branch-add(1))
•
tag name (as registered with cg-tag(1))
•
date string (as recognized by the date tool)
•
shortcut object hash (shorted unambiguous hash lead)
•
commit object hash (as returned by cg-object-id -c)
•
tree object hash (as returned by cg-object-id -t)

TAG_NAME
Indicates a free form tag name.
OBJECT_TYPE
Indicates a git object type i.e.: blob, commit, tree or tag.
USERNAME
Indicates a free form user name.
FILE
Indicates an already existing filename - always relative to the root of the repository.

FILES

~/.cgrc
This file is read on startup if stdout is a terminal and may contain information about default command line options. Each line consists of a command name and a list of options. Lines not starting with a Cogito command name are ignored. To have cg-log and cg-diff colorize the output put the following in ~/.cgrc:
log -c
diff -c

COPYRIGHT

Copyright &#169; Petr Baudis, 2005.

SEE ALSO

Cogito is based on git(7).