1CG-STATUS(1) CG-STATUS(1)
2
3
4
6 cg-status - show status of the repository and your working tree
7
9 cg-status [-g] [[-n] -s STATUS] [-w] [-x] [DIRPATH]
10
11
13 The output includes the list of branches and merge status. Current
14 branch is marked with ">", remote branches are marked with "R".
15 Branches with shelved local changes (currently produced only by
16 cg-switch -l) are marked with "s".
17
18 Then, the files in the working tree are printed out. The output has the
19 following format:
20
21
22 <status flag> <file>
23 where <status flag> can be one of the following:
24
25
26 ? <file> is not known to Cogito. See the IGNORING section below.
27
28 A <file> has been added.
29
30 D <file> has been deleted.
31
32 ! <file> is gone from your working copy but not deleted by
33 cg-rm(1).
34
35 M <file> has been touched or modified.
36
37 m <file> has been touched or modified, but will not be
38 automatically committed the next time you call cg-commit(1).
39 This is used during a merge to mark files which contained local
40 changes before the merge.
41
43 If neither -g or -w is passed, both is shown; otherwise, only the
44 corresponding parts are shown.
45
46 -g Show the GIT repository information.
47
48 -n Do not show status flags. This is probably useful only when you
49 filter the flags for a single specific flag using the -s option.
50
51 -s STATUS
52 Show only files with the given status flag, e.g. -s D. You can
53 list multiple flags (-s MmA) to filter for all of them. You can
54 prepend ^ to the STATUS argument to invert the filter - only
55 items with flags NOT listed in the STATUS string will be printed
56 out.
57
58 -S By default, cg-status will not list full contents of untracked
59 directories but only their name. This option will make it show
60 the all untracked files inside as well.
61
62 -w Show the working tree file list.
63
64 -x Don't exclude any files from listing.
65
66 DIRPATH
67 Path to the directory to use as the base for the working tree
68 file list (instead of the current directory).
69
70 -h, --help
71 Print usage summary.
72
73 --long-help
74 Print user manual. The same as found in cg-status(1).
75
77 If a file has been removed with cg-rm(1) without using the -f option to
78 remove it physically from the tree it will be reported as both being
79 deleted and unknown. The reason for this is that the file is internally
80 marked as deleted and thus also untracked. After next commit it will
81 only be reported as being untracked.
82
83
85 You can declare some files to be ignored: this means that they will not
86 be listed as unknown in cg-status(1), cg-clean(1) will not remove them
87 (unless -x is passed), and cg-init(1) and cg-add -a will not add them.
88 However, the moment you explicitly tell Cogito about them using
89 cg-add(1), Cogito will stop ignoring them; it will commit any
90 modifications in them, etc.: the concept is the same as e.g. in CVS.
91 Typically, autogenerated and backup files are marked as ignored.
92
93 Which files to ignore is determined by lists of exclude patterns stored
94 in various files. There is one pattern per line and the patterns are
95 classic shell glob patterns (with * and ? wildcards). The pattern can
96 be prefixed by ! to unignore matching files. If the pattern does not
97 contain a slash, it is applied in all directories; otherwise, only to
98 the given path in the tree; use leading slash to denote the tree root.
99
100 For example, consider the following:
101
102
103 !.gitignore
104 !/.list
105 This will ignore all hidden files except .gitignore in all directories
106 and the .list file in project root.
107
108 When collecting the ignore patterns, first the default ignore patterns
109 are loaded from /usr/share/cogito/default-exclude (or a slightly
110 different path depending on your installation prefix). Then,
111 .git/info/exclude from your working copy is loaded. At last, during the
112 actual tree traversal .gitignore in each visited directory is loaded
113 for the time of its traversal.
114
115
117 $GIT_DIR/info/exclude
118 The list of ignore patterns; the list itself is not
119 version-tracked and is local to this particular clone.
120 Example 1. gitignore::.sp
121 patterns. Contrary to the exclude file, it is usually version-tracked.
122
124 One known bug is that when you cg-add(1) a new file and then delete it
125 but do not call cg-rm(1), it will not be listed in cg-status(1) output,
126 but from the merging point of view there will still be "local changes"
127 and cg-diff(1) will show a diff.
128
129
131 Copyright © Petr Baudis, 2005 Copyright © Pavel Roskin 2005
132
133
135 cg-status is part of cogito(7), a toolkit for managing git(7) trees.
136
137
138
139
140 12/11/2006 CG-STATUS(1)