X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topgit.git;a=blobdiff_plain;f=README;h=495c70b4aaa565741315bdb25f4778e56e778a4c;hp=5796112db59a7d09f7897caa600b6f3233054f20;hb=98835e384debb0683178f469dde93be265e03b1a;hpb=d400bb3263ab1239cc219541bb4364135b1b753e diff --git a/README b/README index 5796112..495c70b 100644 --- a/README +++ b/README @@ -351,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: @@ -378,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 @@ -418,14 +434,15 @@ tg export 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] BRANCH | --quilt DIR) + 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 ~~~~~~~~~ @@ -463,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