+ TODO: Text graph view
+
+tg export
+~~~~~~~~~
+ Export a tidied-up history of the current topic branch
+ and its dependencies, suitable for feeding upstream.
+ Each topic branch corresponds to a single commit or patch
+ 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.
+
+ In case of producing collapsed history in new branch,
+ 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:
+
+ git log --pretty=email -p --topo-order origin..exported
+
+ To better understand the function of `tg export`,
+ consider this dependency structure of topic branches:
+
+ origin/master - t/foo/blue - t/foo/red - master
+ `- t/bar/good <,----------'
+ `- t/baz ------------'
+
+ (Where each of the branches may have hefty history.) Then
+
+ master$ tg export for-linus
+
+ will create this commit structure on branch for-linus:
+
+ origin/master - t/foo/blue -. merge - t/foo/red -.. merge - master
+ `- t/bar/good <,-------------------'/
+ `- t/baz ---------------------'
+
+ In case of the quilt mode,
+
+ master$ tg export --quilt for-linus
+
+ would create this directory for-linus:
+
+ for-linus/t/foo/blue.diff
+ for-linus/t/foo/red.diff
+ for-linus/t/bar/good.diff
+ for-linus/t/baz.diff
+ for-linus/series:
+ t/foo/blue.diff -p1
+ t/bar/good.diff -p1
+ t/foo/red.diff -p1
+ t/baz.diff -p1
+
+ The command works on the current topic branch
+ and can be called either without a parameter
+ (in that case, '--collapse' is assumed)
+ and with one mandatory argument: the name of the branch
+ where the exported result shall be stored.
+ The branch will be silently overwritten if it exists already!
+ Use git reflog to recover in case of mistake.
+
+ Alternatively, call it with the '--quilt' parameter
+ and an argument specifying the directory
+ where the quilt series should be saved.
+
+ With '--quilt', you can also pass '-b' parameter followed by
+ a comma-separated explicit list of branches to export. This
+ mode of operation is currently not supported with collapse.
+
+ 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] 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
+
+tg import
+~~~~~~~~~
+ Import commits within the given revision range into TopGit,
+ creating one topic branch per commit, the dependencies forming
+ a linear sequence starting on your current branch (or a branch
+ specified by the '-d' parameter).
+
+ The branch names are auto-guessed from the commit messages
+ and prefixed by t/ by default; use '-p PREFIX' to specify
+ an alternative prefix (even an empty one).
+
+ Alternatively, you can use the '-s NAME' parameter to specify
+ the name of target branch; the command will then take one more
+ argument describing a single commit to import.