linearising TopGit forests into patch series (was: [ANNOUNCE] TopGit - A different patch queue manager)

Petr Baudis pasky at suse.cz
Sat Aug 9 01:08:21 UTC 2008


Hi!

On Thu, Aug 07, 2008 at 02:56:24PM -0300, martin f krafft wrote:
> Assuming a number of interdependent topic branches, does TopGit
> provide a way for me to linearise/flatten/serialise these branches
> in a one-patch-per-branch fashion, so that I could turn any TopGit
> repository into a quilt series? I am only interested in a one-way
> conversion from TopGit to quilt for now.

Not _yet_. But it very well could, and it should be really simple.

There are two parts:

(i) First, getting a "tidied up" commit structure from TopGit, having
one commit per patch (branch). This is something covered currently in
the README by:

	TODO: tg collapse for creating a one-commit-per-patch tidied up
		history (for pulling by upstream)

So it's not implemented yet, but it should be *very* easy to do.

(ii) Second, linearizing this commit structures to a series. This should
be as simple as running

	git log --pretty=email -p --topo-order

on the collapsed history.

> The reason for this is quite simply that while it's fabulous to use
> e.g. Git for managing the source repository from which to build
> distro packages, the resulting packages will have all
> distro-specific changes applied or collated into a single diff. This
> makes it hard for other distributions to grab patches, for upstream
> to keep on top of what is being distributed, and for bug fixers to
> separate patches and test only specific ones.

This is exactly what TopGit seeks to alleviate.

On Fri, Aug 08, 2008 at 02:06:58PM -0300, martin f krafft wrote:
> Also, what happens if branches cross-merge?

This would mean there is circular dependence between the branches, which
is invalid setup for TopGit - you could not get a linear ordering out of
the branches anyway; in result, each branch has to turn out to a single
final Git commit - with circular dependencies, you cannot do that.

-- 
				Petr "Pasky" Baudis
The next generation of interesting software will be done
on the Macintosh, not the IBM PC.  -- Bill Gates



More information about the vcs-pkg-discuss mailing list