git fast-export issue -- anyone know if this is a bug or a feature?

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

 



Hi,

The git-fast-export manpage, under the first example, says that
$ git fast-export --all | (cd /empty/repository && git fast-import)
should create a one-to-one mirror of the source repository (other than
reencoding commits that are not in UTF-8).

Either I am misunderstanding this comment, or it's not quite true:
while I've gotten identical mirrors using this recipe with most
repositories I have tried, I have one which shows some changes under
this process.  The changes I noticed are that, for example, the master
branch has fewer commits in the "mirrored" repository than the source
one, and that the history of commits has changed. (The content at the
heads of all branches do match, so the changes seem restricted to the
history of obtaining that content).  Unfortunately, (a) this
repository is pretty unwieldy, (b) I can't share it, and (c) it's
defied my attempts so far to find a small reproducible testcase.
However, from what I have found, it looks like this could be a
feature, because I actually like one of the changes I noticed so far.

The "source" repository is one that has been created by cvs2git (which
operated on a franken cvs repository munged together from lots of
different places; I'm running git-fast-export & git-fast-import based
on it since I want to do some extra changes outside of cvs2git).  In
the source repository, I noticed that 6 of the earliest commits in one
root of history looked like:

     /--E
    /  /
A--C--D
  /
 B

In the "mirrored" repository, I notice this history had been modified
so that it looked like

        E
       /
A--C--D
  /
 B

The latter history seems much more sane to me; since D is a child of
C, making E a merge of C and D seemed really weird.  I did pour over
the output of git fast-export --all to see if the merge directives
were as expected, in order to see whether git fast-export or git
fast-import were to be credited with the history fix.  It looks to me
like git-fast-export reports no merge parents for E, so this seems to
be on the fast-export side.

Is this, by chance, intentional?  (I'm using git-1.6.0.6, if it matters.)

Thanks,
Elijah
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux