chiark / gitweb /
control: depend on git | git-core
[topgit.git] / README
diff --git a/README b/README
index 8be0d17ec0e005ce08693505097e4fa9e38d9131..495c70b4aaa565741315bdb25f4778e56e778a4c 100644 (file)
--- a/README
+++ b/README
@@ -284,8 +284,9 @@ tg patch
        tg patch will be able to automatically send the patches by mail
        or save them to files. (TODO)
 
        tg patch will be able to automatically send the patches by mail
        or save them to files. (TODO)
 
-       TODO: tg patch -i to base at index instead of branch,
-               -w for working tree
+       Options:
+         -i            base patch generation on index instead of branch
+         -w            base patch generation on working tree instead of branch
 
 tg mail
 ~~~~~~~
 
 tg mail
 ~~~~~~~
@@ -350,11 +351,12 @@ tg export
        in the cleaned up history (corresponding basically exactly
        to `tg patch` output for the topic branch).
 
        in the cleaned up history (corresponding basically exactly
        to `tg patch` output for the topic branch).
 
-       The command has two possible outputs now - either a Git branch
-       with the collapsed history, or a quilt series in new directory.
+       The command has three possible outputs now - either a Git branch with
+       the collapsed history, a Git branch with a linearized history, or a
+       quilt series in new directory.
 
        In case of producing collapsed history in new branch,
 
        In case of producing collapsed history in new branch,
-       You can use this collapsed structure either for providing
+       you can use this collapsed structure either for providing
        a pull source for upstream, or further linearization e.g.
        for creation of a quilt series using git log:
 
        a pull source for upstream, or further linearization e.g.
        for creation of a quilt series using git log:
 
@@ -377,6 +379,21 @@ tg export
                     `- t/bar/good <,-------------------'/
                     `- t/baz      ---------------------'
 
                     `- t/bar/good <,-------------------'/
                     `- t/baz      ---------------------'
 
+       In case of using the linearize mode:
+
+       master$ tg export --linearize for-linus
+
+       you get a linear history respecting the dependencies of your patches in
+       a new branch for-linus.  The result should be more or less the same as
+       using quilt mode and reimporting it into a Git branch.  (More or less
+       because the topologic order can usually be extended in more than one
+       way into a complete ordering and the two methods may choose different
+       one's.)  The result might be more appropriate for merging upstream as
+       it contains fewer merges.
+
+       Note that you might get conflicts during linearization because the
+       patches are reordered to get a linear history.
+
        In case of the quilt mode,
 
        master$ tg export --quilt for-linus
        In case of the quilt mode,
 
        master$ tg export --quilt for-linus
@@ -409,14 +426,23 @@ tg export
        a comma-separated explicit list of branches to export. This
        mode of operation is currently not supported with collapse.
 
        a comma-separated explicit list of branches to export. This
        mode of operation is currently not supported with collapse.
 
-       Usage: tg export ([--collapse] BRANCH | --quilt DIR)
+       In '--quilt' mode the patches are named like the originating topgit
+       branch.  So usually they end up in subdirectories of the output
+       directory.  With option '--flatten' the names are mangled such that
+       they end up directly in the output dir (i.e. slashed are substituted by
+       underscores).  With '--numbered' (which implies '--flatten') the patch
+       names get a number as prefix to allow getting the order without
+       consulting the series file, which eases sending out the patches.
+
+       Usage: tg export ([(--collapse | --linearize)] BRANCH | --quilt DIR)
 
        TODO: Make stripping of non-essential headers configurable
        TODO: Make stripping of [PATCH] and other prefixes configurable
        TODO: --mbox option for other mode of operation
        TODO: -a option to export all branches
 
        TODO: Make stripping of non-essential headers configurable
        TODO: Make stripping of [PATCH] and other prefixes configurable
        TODO: --mbox option for other mode of operation
        TODO: -a option to export all branches
-       TODO: For quilt exporting, use a temporary branch and remove it when
-             done - this would allow producing conflict-less series
+       TODO: For quilt exporting, export the linearized history created in a
+             temporary branch---this would allow producing conflict-less
+             series
 
 tg import
 ~~~~~~~~~
 
 tg import
 ~~~~~~~~~
@@ -454,6 +480,12 @@ tg update
 
        TODO: tg update -a for updating all topic branches
 
 
        TODO: tg update -a for updating all topic branches
 
+tg push
+~~~~~~~
+       pushes a TopGit-controlled topic branch to a remote
+       repository.  By default the remote gets all dependencies
+       (both tgish and non-tgish) and bases pushed to.
+
 TODO: tg rename
 
 
 TODO: tg rename