3 Yann Dirson <ydirson@altern.org>
8 stg - manage stacks of patches using the GIT content tracker
13 'stg' [--version | --help]
14 'stg' [--help <command> | <command> --help]
15 'stg' <command> [COMMAND OPTIONS] [ARGS]
20 StGIT (Stacked GIT) is an application providing similar functionality
21 to Quilt (i.e. pushing/popping patches to/from a stack), on top of
22 GIT. These operations are performed using GIT commands and the patches
23 are stored as GIT commit objects, allowing easy merging of the StGIT
24 patches into other repositories using standard GIT functionality.
26 An StGIT stack is a GIT branch with additional information to help
27 making changes to individual patches you already committed, rather
28 than making changes by adding new commits. It is thus a
29 non-forwarding, or rewinding branch: the old head of the branch is
30 often not reachable as one of the new head's ancestors.
32 Typical uses of StGIT include:
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
42 In such a setup, typically all commits on your branch are StGIT
43 patches; the stack base is the branch point where your changes "fork"
44 off their parent branch.
47 Preparing and testing your commits before publishing them,
48 separating your features from unrelated bugfixes collected
51 In such a setup, not all commits on your branch need to be StGIT
52 patches; there may be regular GIT commits below your stack base.
57 The following generic option flags are available. Additional options
58 are available per-command, and documented in the command-specific
62 Prints the StGIT suite version that the 'stg' program came
63 from, as well as version of other components used, such as GIT
67 Prints the synopsis and a list of all commands. If a git
68 command is given this option will display the specific help
74 We divide StGIT commands in thematic groups, according to the primary
75 type of object they create or change.
77 ifdef::backend-docbook[]
78 Here is a short description of each command. A more detailed
79 description is available in individual command manpages. Those
80 manpages are named 'stg-<command>(1)'.
81 endif::backend-docbook[]
86 User-support commands not touching the repository.
124 stglink:assimilate[]::
127 Controlling what patches are applied
128 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
144 stglink:unapplied[]::
154 Miscellaneous stack commands
155 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
176 Controlling patch contents
177 ^^^^^^^^^^^^^^^^^^^^^^^^^^
192 Interaction with the rest of the world
193 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
203 Working-copy commands
204 ~~~~~~~~~~~~~~~~~~~~~
219 CONFIGURATION MECHANISM
220 -----------------------
222 Starting with 0.12, StGIT uses the same configuration mechanism as
223 GIT. See gitlink:git[7] for more details.
228 A number of StGIT commands make use of template files to provide
229 useful default texts to be edited by the user. These '<name>.tmpl'
230 template files are searched in the following directories:
233 $HOME/.stgit/templates/
234 /usr/share/stgit/templates/