cogito

Langue: en

Version: 02/24/2009 (fedora - 06/07/09)

Section: 7 (Divers)

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 gitm[blue]7m[][1] (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 --long-help
 

You can find the quick overview of the most useful commands and concepts in gitm[blue]7m[][2].

Regular commands

gitm[blue]1m[][3] [-a] [-N] [-r] FILE...

Add new files to the repository

gitm[blue]1m[][4] BRANCH_NAME LOCATION

Add new remote branch

gitm[blue]1m[][5] BRANCH_NAME NEW_LOCATION

Change an existing remote branch repository URL

gitm[blue]1m[][6] :: List configured remote branches

gitm[blue]1m[][7] [-d] [-D] [-n] [-q] [-x]

Remove untracked files from the working tree

gitm[blue]1m[][8] [-l] [-b] [-s] LOCATION [DESTDIR]

Clone a remote repository

gitm[blue]1m[][9] [-m MESSAGE]... [-e] [-c COMMIT_ID] [OTHER_OPTIONS] [FILE]... [< MESSAGE]

Commit changes in the working tree to the repository

gitm[blue]1m[][10] [-c] [-m] [-s] [-p] [-r FROM_ID[..TO_ID]] [FILE]...

Show changes in the diff format

gitm[blue]1m[][11] [-r TREE_ID] DESTFILE

Export contents of a particular revision

gitm[blue]1m[][12] [-f] [-v] [BRANCH_NAME]

Fetch changes from a remote branch to the local repository

gitm[blue]1m[][13] [-c] [cg-COMMAND | COMMAND]

Show help for Cogito commands

gitm[blue]1m[][14] [-I] [-N] [-e EXCLUDEPATTERN]... [-m MESSAGE]...

Initialize new repository

gitm[blue]1m[][15] [-D DATE] [-r FROM_ID[..TO_ID]] [-d] [-s | --summary] [OTHER_OPTIONS] [FILE]...

Show the list of changes

gitm[blue]1m[][16] [-n] [-b BASE_COMMIT] [-j] [--squash] [-v] [BRANCH_NAME]

Merge a branch to the current branch

gitm[blue]1m[][17] [-m] [-s] [-r FROM_ID[..TO_ID] [-d DIRNAME]]

Create a patch from a commit or a series of commits

gitm[blue]1m[][18] [-f] FILE... DEST

Rename or move files in the repository

gitm[blue]1m[][19] [-b | -c | -d | -n | -p | -t] [OBJECT_ID]

Get the SHA1 id of an object associated with the given symbolic id

gitm[blue]1m[][20] [-c] [-C COMMIT] [-pN] [-R] [-m | -d DIR] [OTHER_OPTIONS] < PATCH

Apply a patch from a file, standard input, or a commit

gitm[blue]1m[][21] [-r LOCAL_BRANCH] [-t TAG]... [REMOTE_BRANCH]...

Push changes to a remote repository

gitm[blue]1m[][22] [--adds-removes]

Reset the state of the working tree

gitm[blue]1m[][23] [-f] [-r ID] [FILE]...

Restore files in the working tree to the given state

gitm[blue]1m[][24] [-a] [-f] [-n] [-r] FILE...

Remove files from the repository

gitm[blue]1m[][25] [COMMIT_ID]

Seek the working tree to a given commit

gitm[blue]1m[][26] [-g] [[-n] -s STATUS] [-w] [-x] [DIRPATH]

Show status of the repository and your working tree

gitm[blue]1m[][27] [-f] [-l | -n | -p] [-c | -r COMMIT_ID] BRANCH

Switch the working tree to a different (or new) local branch

gitm[blue]1m[][28] [-m MESSAGE]... [-e] [-s] [OTHER_OPTIONS] TAG_NAME [OBJECT_ID]

Mark certain commit with a tag

gitm[blue]1m[][29] :: List existing tags

gitm[blue]1m[][30] TAGNAME...

Show information about given tag(s)

gitm[blue]1m[][31] [-f] [--squash] [-v] [BRANCH_NAME]

Fetch and merge changes from a remote repository

gitm[blue]1m[][32] [--lib-dir] [--share-dir]

Show the version of the Cogito toolkit

gitm[blue]1m[][33] [--lib-dir] [--share-dir]

Show the version of the Cogito toolkit

Advanced commands

gitm[blue]1m[][34] [-r TREE_ID] FILE...

Cat file(s) by filename from given tree or revision

gitm[blue]1m[][35] [-t TREE_ID] [PATH]

List contents of a particular tree in the repository

gitm[blue]1m[][36] [OBJECT_TYPE]

List unpacked objects in the repository

gitm[blue]1m[][37] [-d TEMPDIR] [-r STARTREV]... [-k KEEPREV]... [FILTERS] DESTBRANCH

Rewrite revision history

gitm[blue]1m[][38] [-g GROUP] REPOSITORY

Setup a public repository

gitm[blue]1m[][39] [-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-Xfollowrenames

git-rev-list | git-diff-tree --stdin following renames

cg-Xlib

Common code shared by the Cogito toolkit

cg-Xmergefile

Merge two revisions of a file

COMMAND IDENTIFIERS

BRANCH_NAME

Indicates a branch name added with the gitm[blue]1m[][4] or gitm[blue]1m[][27] commands.

COMMAND

Indicates a Cogito command. The cg- prefix is optional.

LOCATION

Indicates a local file path or a URI. See gitm[blue]1m[][4] 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 gitm[blue]1m[][4])
• tag name (as registered with gitm[blue]1m[][28])
• 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
 
 You can prevent Cogito from reading ~/.cgrc by setting the
 CG_NORC environment variable.
 

Copyright © Petr Baudis, 2005.

SEE ALSO

Cogito is based on gitm[blue]7m[][1]. A quick Cogito reference sheet is in gitm[blue]7m[][2]. Cogito homepage is at m[blue]http://git.or.cz/cogitom[].

NOTES

1.
7
[set $man.base.url.for.relative.links]/git
2.
7
[set $man.base.url.for.relative.links]/cg-ref
3.
1
[set $man.base.url.for.relative.links]/cg-add
4.
1
[set $man.base.url.for.relative.links]/cg-branch-add
5.
1
[set $man.base.url.for.relative.links]/cg-branch-chg
6.
1
[set $man.base.url.for.relative.links]/cg-branch-ls
7.
1
[set $man.base.url.for.relative.links]/cg-clean
8.
1
[set $man.base.url.for.relative.links]/cg-clone
9.
1
[set $man.base.url.for.relative.links]/cg-commit
10.
1
[set $man.base.url.for.relative.links]/cg-diff
11.
1
[set $man.base.url.for.relative.links]/cg-export
12.
1
[set $man.base.url.for.relative.links]/cg-fetch
13.
1
[set $man.base.url.for.relative.links]/cg-help
14.
1
[set $man.base.url.for.relative.links]/cg-init
15.
1
[set $man.base.url.for.relative.links]/cg-log
16.
1
[set $man.base.url.for.relative.links]/cg-merge
17.
1
[set $man.base.url.for.relative.links]/cg-mkpatch
18.
1
[set $man.base.url.for.relative.links]/cg-mv
19.
1
[set $man.base.url.for.relative.links]/cg-object-id
20.
1
[set $man.base.url.for.relative.links]/cg-patch
21.
1
[set $man.base.url.for.relative.links]/cg-push
22.
1
[set $man.base.url.for.relative.links]/cg-reset
23.
1
[set $man.base.url.for.relative.links]/cg-restore
24.
1
[set $man.base.url.for.relative.links]/cg-rm
25.
1
[set $man.base.url.for.relative.links]/cg-seek
26.
1
[set $man.base.url.for.relative.links]/cg-status
27.
1
[set $man.base.url.for.relative.links]/cg-switch
28.
1
[set $man.base.url.for.relative.links]/cg-tag
29.
1
[set $man.base.url.for.relative.links]/cg-tag-ls
30.
1
[set $man.base.url.for.relative.links]/cg-tag-show
31.
1
[set $man.base.url.for.relative.links]/cg-update
32.
1
[set $man.base.url.for.relative.links]/cg-version
33.
1
[set $man.base.url.for.relative.links]/cg-version.in
34.
1
[set $man.base.url.for.relative.links]/cg-admin-cat
35.
1
[set $man.base.url.for.relative.links]/cg-admin-ls
36.
1
[set $man.base.url.for.relative.links]/cg-admin-lsobj
37.
1
[set $man.base.url.for.relative.links]/cg-admin-rewritehist
38.
1
[set $man.base.url.for.relative.links]/cg-admin-setuprepo
39.
1
[set $man.base.url.for.relative.links]/cg-admin-uncommit