Revert commit "Move man page stg(1) to stg(7)"
[stgit] / Documentation / stg.txt
CommitLineData
36043cd6 1stg(1)
4ec67741
YD
2======
3Yann Dirson <ydirson@altern.org>
4v0.12.1, February 2007
5
6NAME
7----
8stg - manage stacks of patches using the GIT content tracker
9
10SYNOPSIS
11--------
12[verse]
d1d7d28d
YD
13'stg' [--version | --help]
14'stg' [--help <command> | <command> --help]
15'stg' <command> [COMMAND OPTIONS] [ARGS]
4ec67741
YD
16
17DESCRIPTION
18-----------
19
20StGIT (Stacked GIT) is an application providing similar functionality
21to Quilt (i.e. pushing/popping patches to/from a stack), on top of
22GIT. These operations are performed using GIT commands and the patches
23are stored as GIT commit objects, allowing easy merging of the StGIT
24patches into other repositories using standard GIT functionality.
25
bfbfd4e5
YD
26An StGIT stack is a GIT branch with additional information to help
27making changes to individual patches you already committed, rather
28than making changes by adding new commits. It is thus a
29non-forwarding, or rewinding branch: the old head of the branch is
30often not reachable as one of the new head's ancestors.
31
4ec67741
YD
32Typical uses of StGIT include:
33
34Tracking branch::
bfbfd4e5
YD
35 Tracking changes from a remote branch, while maintaining local
36 modifications against that branch, possibly with the intent of
37 sending some patches upstream. StGIT assists in preparing and
38 cleaning up patches until they are acceptable upstream, as
39 well as maintaining local patches not meant to be sent
40 upstream.
41+
42In such a setup, typically all commits on your branch are StGIT
43patches; the stack base is the branch point where your changes "fork"
44off their parent branch.
4ec67741
YD
45
46Development branch::
47 Preparing and testing your commits before publishing them,
48 separating your features from unrelated bugfixes collected
49 while developping.
bfbfd4e5
YD
50+
51In such a setup, not all commits on your branch need to be StGIT
52patches; there may be regular GIT commits below your stack base.
4ec67741
YD
53
54OPTIONS
55-------
56
d1d7d28d
YD
57The following generic option flags are available. Additional options
58are available per-command, and documented in the command-specific
59documentation.
60
4ec67741
YD
61--version::
62 Prints the StGIT suite version that the 'stg' program came
63 from, as well as version of other components used, such as GIT
64 and Python.
65
66--help::
67 Prints the synopsis and a list of all commands. If a git
68 command is given this option will display the specific help
69 for that command.
70
71STGIT COMMANDS
72--------------
73
74We divide StGIT commands in thematic groups, according to the primary
75type of object they create or change.
76
77ifdef::backend-docbook[]
78Here is a short description of each command. A more detailed
79description is available in individual command manpages. Those
80manpages are named 'stg-<command>(1)'.
81endif::backend-docbook[]
82
83Generic commands
84~~~~~~~~~~~~~~~~
85
86User-support commands not touching the repository.
87
c2b87fa2 88stg help::
4ec67741 89 stgdesc:help[]
c2b87fa2 90stg version::
4ec67741 91 stgdesc:version[]
c2b87fa2 92stg copyright::
4ec67741
YD
93 stgdesc:copyright[]
94
95Repository commands
96~~~~~~~~~~~~~~~~~~~
97
98stglink:clone[]::
99 stgdesc:clone[]
100stglink:id[]::
101 stgdesc:id[]
102
103Stack commands
104~~~~~~~~~~~~~~
105
106Stack management
107^^^^^^^^^^^^^^^^
108
109stglink:branch[]::
110 stgdesc:branch[]
111stglink:init[]::
112 stgdesc:init[]
113stglink:clean[]::
114 stgdesc:clean[]
115stglink:pull[]::
116 stgdesc:pull[]
117stglink:rebase[]::
118 stgdesc:rebase[]
119
120stglink:commit[]::
121 stgdesc:commit[]
122stglink:uncommit[]::
123 stgdesc:uncommit[]
124stglink:assimilate[]::
125 stgdesc:assimilate[]
126
127Controlling what patches are applied
128^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
129
130stglink:series[]::
131 stgdesc:series[]
132stglink:push[]::
133 stgdesc:push[]
134stglink:pop[]::
135 stgdesc:pop[]
136stglink:goto[]::
137 stgdesc:goto[]
138stglink:float[]::
139 stgdesc:float[]
de7a79c4
YD
140stglink:bury[]::
141 stgdesc:bury[]
4ec67741
YD
142stglink:applied[]::
143 stgdesc:applied[]
144stglink:unapplied[]::
145 stgdesc:unapplied[]
146stglink:top[]::
147 stgdesc:top[]
148
149stglink:hide[]::
150 stgdesc:hide[]
151stglink:unhide[]::
152 stgdesc:unhide[]
153
154Miscellaneous stack commands
155^^^^^^^^^^^^^^^^^^^^^^^^^^^^
156
157stglink:patches[]::
158 stgdesc:patches[]
159
160
161Patch commands
162~~~~~~~~~~~~~~
163
164Patch management
165^^^^^^^^^^^^^^^^
166
167stglink:new[]::
168 stgdesc:new[]
169stglink:delete[]::
170 stgdesc:delete[]
171stglink:rename[]::
172 stgdesc:rename[]
173stglink:log[]::
174 stgdesc:log[]
175
176Controlling patch contents
177^^^^^^^^^^^^^^^^^^^^^^^^^^
178
179stglink:files[]::
180 stgdesc:files[]
181stglink:show[]::
182 stgdesc:show[]
183stglink:refresh[]::
184 stgdesc:refresh[]
185stglink:fold[]::
186 stgdesc:fold[]
187stglink:pick[]::
188 stgdesc:pick[]
189stglink:sync[]::
190 stgdesc:sync[]
191
192Interaction with the rest of the world
193^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
194
195stglink:export[]::
196 stgdesc:export[]
197stglink:import[]::
198 stgdesc:import[]
199stglink:mail[]::
200 stgdesc:mail[]
201
202
203Working-copy commands
204~~~~~~~~~~~~~~~~~~~~~
205
206stglink:add[]::
207 stgdesc:add[]
208stglink:rm[]::
209 stgdesc:rm[]
d5ae2173
YD
210stglink:cp[]::
211 stgdesc:cp[]
4ec67741
YD
212stglink:status[]::
213 stgdesc:status[]
214stglink:diff[]::
215 stgdesc:diff[]
216stglink:resolved[]::
217 stgdesc:resolved[]
218
219CONFIGURATION MECHANISM
220-----------------------
221
222Starting with 0.12, StGIT uses the same configuration mechanism as
223GIT. See gitlink:git[7] for more details.
224
225TEMPLATES
226---------
227
228A number of StGIT commands make use of template files to provide
229useful default texts to be edited by the user. These '<name>.tmpl'
230template files are searched in the following directories:
231
232 $GITDIR/
233 $HOME/.stgit/templates/
234 /usr/share/stgit/templates/