X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topgit.git;a=blobdiff_plain;f=README;h=495c70b4aaa565741315bdb25f4778e56e778a4c;hp=8be0d17ec0e005ce08693505097e4fa9e38d9131;hb=98835e384debb0683178f469dde93be265e03b1a;hpb=7e24a4aafda160b0715436034d5c8bf6f62ad8bd diff --git a/README b/README index 8be0d17..495c70b 100644 --- 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) - 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 ~~~~~~~ @@ -350,11 +351,12 @@ tg export 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, - 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: @@ -377,6 +379,21 @@ tg export `- 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 @@ -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. - 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: 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 ~~~~~~~~~ @@ -454,6 +480,12 @@ tg update 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