From: Yves Orton <yves.orton@booking.com>
To: Johannes Sixt <j.sixt@viscovery.net>
Cc: git@vger.kernel.org
Subject: Re: git-fast-export bug, commits emmitted in incorrect order causing parent data to be lost from commits turning essentially linear repo into "islands"
Date: Thu, 12 Jun 2008 14:16:02 +0200 [thread overview]
Message-ID: <1213272962.6940.231.camel@gemini> (raw)
In-Reply-To: <1213272285.6940.222.camel@gemini>
On Thu, 2008-06-12 at 14:04 +0200, Yves Orton wrote:
> On Thu, 2008-06-12 at 13:53 +0200, Johannes Sixt wrote:
> > Yves Orton schrieb:
> > > Hi,
> > >
> > > Ive been working with git-fast-export a bit recently and Ive hit a bug
> > > that is causing some trouble.
> > >
> > > Essentially it seems that one of our repos git-fast-export fails to emit
> > > the proper 'from' information for several commits in the repo. These
> > > commits are emitted first without parent data even though their parents
> > > ARE emitted later.
> >
> > Does it make a difference if you pass --topo-order to git fast-export?
> > (But I don't know for certain that this is even legal.)
>
> Yes it does make a difference. A big difference. That would be the
> workaround I really needed. At least currently thats the way it looks,
> i havent thoroughly tested the result yet but it certainly looks right.
>
> Perhaps this should be enabled by default to avoid the problem i
> encountered? At least until whatever the cause of the root problem is
> identified and fixed.
>
> Thanks a lot. ++ to you.
I should add that with this switch enabled the output order is correct,
HOWEVER the mark number of the first commit is unchanged from the
original. However the parent relationships are correctly restored and
the resulting repo has the correct SHA1 stamps. So it looks like the
original traversal order is wrong somehow, and that --topo-order fixes
it up after the fact.
But for my immediate needs this is the solution I needed. Again many
thanks.
BTW, for the record this was needed because we are trying to merge
multiple git repos into a single new git repo with each original repo
mapped into a subdirectory of the new repo, and with commit trees merged
in more or less the correct order (by date applied more or less). IOW we
dont want to have multiple "root commits" that are later merged.
We want a more or less linear repo as the result. This bug with
fast-export was the main showstopper in our efforts. However, I can
imagine that this is a problem that many people will want to solve. It
would be nice if there was an easier way to do it that what we currently
are doing (merging and munging multiple fast-export streams into a
single fast-import process). While at this point its probably academic
any suggestions as to the Best Way to do this would be very much
welcome.
Cheers and thanks to all you git developers for a great tool!
Yves
next prev parent reply other threads:[~2008-06-12 12:17 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-12 10:21 git-fast-export bug, commits emmitted in incorrect order causing parent data to be lost from commits turning essentially linear repo into "islands" Yves Orton
2008-06-12 11:53 ` Johannes Sixt
2008-06-12 12:04 ` Yves Orton
2008-06-12 12:16 ` Yves Orton [this message]
2008-06-12 12:45 ` Johannes Sixt
2008-06-12 12:52 ` Michael J Gruber
2008-06-12 14:02 ` Philippe Bruhat (BooK)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1213272962.6940.231.camel@gemini \
--to=yves.orton@booking.com \
--cc=git@vger.kernel.org \
--cc=j.sixt@viscovery.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).