tech-repository archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: git branches (was: Re: Reply to David Holland's notes and comments)

David Holland <>:
> On Tue, Jan 13, 2015 at 12:51:26AM -0500, Eric S. Raymond wrote:
>  > >    (4) Do your tools avoid this problem?
>  > 
>  > Answering the last question first:
>  > 
>  > No, they don't.  They can't, because git and its fast input streams
>  > don't store the right kind of metadata.
> Ok then. What if anything can be done about this?

*If* the target is Mercurial, *then* we can reconstruct the unique 
branch coloring on the translated DAG at any point from when the CVS
is translated up until the first real merge.  Otherwise, I'm afraid
the answer is "Not a damned thing."
>  > However, I note that CVS doesn't handle branches this way either.  In
>  > CVS, as in git "a branch is a self-moving tag that names the head of the
>  > branch, that is, a branch is a version.".  There is nothing else there.
>  > The same is in effect true of SVN, though the details are odd and
>  > slightly different.
> This is absolutely not true. In CVS, when you create a branch, it gets
> a version number that refers to the whole branch (a version with an
> odd number of components) and all commits on the branch are numbered
> using that as a prefix.

Aha.  I see.  You're identifying "the branch" with its CVS prefix; I'm
identifying it with its name, the sticky tag on the end.  Terminology problem.

The trouble with noticing that branch prefixes correspond to a unique 
coloring scheme is that it doesn't help us in any way.  We already know
we can induce a unique branch coloring (in fact, the same one) just from
knowing which the oldest branch at any junction is.

> So how is full branch metadata supposed to be recorded in the
> fast-import stream? You said above that it wasn't supported.

It isn't.  If the target is Mercurial, then either (a) we're lucky, the
git importer re-colors the DAG for us, or (b) we're not lucky and I have
to write a DAG-walker to do it.
		<a href="";>Eric S. Raymond</a>

Home | Main Index | Thread Index | Old Index