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
vcs-pkg-discuss mailing list