All of lore.kernel.org
 help / color / mirror / Atom feed
From: bdowning@lavos.net (Brian Downing)
To: Felipe Contreras <felipe.contreras@gmail.com>
Cc: "Shawn O. Pearce" <spearce@spearce.org>,
	git@vger.kernel.org, monotone-devel@nongnu.org
Subject: Re: [RFC] mtn to git conversion script
Date: Mon, 25 Aug 2008 11:41:53 -0500	[thread overview]
Message-ID: <20080825164153.GK31114@lavos.net> (raw)
In-Reply-To: <20080825163530.GJ31114@lavos.net>

On Mon, Aug 25, 2008 at 11:35:31AM -0500, Brian Downing wrote:
> Note that for monotone export to go fast you absolutely /must/ avoid the
> get_manifest operation.  In my converter I use the revision information
> directly.  Getting the renames right with this is a little tricky; IIRC,
> the ordering that works is:
> 
> * Rename all renamed files, innermost files first, to temporary names.
> * Delete all deleted files, innermost first.
> * Rename all temporary names to permanent names, outermost first.
> * Add all new/modified files.
> 
> Conveniently, all of the above can be done by directly emitting
> fast-import commands, so you don't have to keep track of trees directly.
> (With one exception, which I'll elaborate on in a different email.)

The exception is one commit in monotone's repository.  There was
actually a commit that did:

    rename '/' '/something'
    add '/other'

Monotone can apparently handle that, but git fast-import cannot, last I
checked.  One would have to "know" what all the files were and recreate
them by hand, which was what fast-import's move/copy commands were
supposed to avoid.

Obviously this use case is not too important to me, as patches have not
been forthcoming to fix this, but I figured I'd mention it in case it's
important to somebody else.

-bcd

  reply	other threads:[~2008-08-25 16:48 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-24  9:18 [RFC] mtn to git conversion script Felipe Contreras
2008-08-24 13:14 ` Miklos Vajna
2008-08-24 18:19   ` Johannes Schindelin
2008-08-24 19:37     ` Miklos Vajna
2008-08-24 18:33   ` Felipe Contreras
2008-08-24 22:46     ` Shawn O. Pearce
2008-08-25  0:45       ` Felipe Contreras
2008-08-28  5:57         ` Anand Kumria
2008-08-28  9:03           ` [Monotone-devel] " Felipe Contreras
2008-09-04  9:43             ` Felipe Contreras
2008-09-04 10:31               ` Jakub Narebski
2008-09-04 13:21                 ` Felipe Contreras
2008-09-04 10:50               ` Thomas Moschny
2008-09-04 13:29                 ` Felipe Contreras
2008-08-25 16:35 ` Brian Downing
2008-08-25 16:41   ` Brian Downing [this message]
2008-08-25 20:47   ` Felipe Contreras
2008-08-25 21:09     ` Brian Downing
2008-08-28  7:11   ` Anand Kumria
2008-11-11 16:30   ` Juan Jose Comellas
2008-11-11 16:40   ` Juan Jose Comellas

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=20080825164153.GK31114@lavos.net \
    --to=bdowning@lavos.net \
    --cc=felipe.contreras@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=monotone-devel@nongnu.org \
    --cc=spearce@spearce.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.