Subject: Re: Storing state in $GIT_DIR

From: Martin Langhoff <[email-masked]>
Date: Fri, 26 Aug 2005 13:57:27 +1200

On 8/26/05, Junio C Hamano <[email-masked]> wrote:
> If I am not mistaken, we have another foreign SCM import
> interface that can repeatedly slurp from the same foreign SCM to
> get updates.  Doesn't cvsimport have the same issue?  

Yes and no. 

cvsimport uses cvsps which uses in ~/.cvsps as a cache. Other than
that, all the info is transient - cvsimport doesn't need to know that
much about past commits -- when it sees BRANCH_A_A1 open from BRANCH_A
it opens a new head BRANCH_A_A1 with the parent in the _latest_
BRANCH_A.

This is a bug/limitation that only hits you when you are tracking an
evolving cvs project, because cvsps will otherwise mark the branching
point in order, right after the 'correct' commit. IOW cvsimport gets
it kind-of-right most of the time due to cvsps behaviour and sheer
luck, but doesn't do it strictly right either.

With Arch, we cannot even fake it. We see the branch in its own time,
and it can branch off any point in the source branch history. We have
the correct parent information -- it'd be silly to drop it. All we
have to do, is map the parents correctly...

cheers,

martin