git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git fast-export issue -- anyone know if this is a bug or a feature?
@ 2009-02-09  5:31 Elijah Newren
  2009-02-09 11:17 ` Johannes Schindelin
  2009-02-11  6:12 ` Elijah Newren
  0 siblings, 2 replies; 4+ messages in thread
From: Elijah Newren @ 2009-02-09  5:31 UTC (permalink / raw)
  To: Git Mailing List

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-02-11  6:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-09  5:31 git fast-export issue -- anyone know if this is a bug or a feature? Elijah Newren
2009-02-09 11:17 ` Johannes Schindelin
2009-02-09 14:15   ` Elijah Newren
2009-02-11  6:12 ` Elijah Newren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).