git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Yann Dirson <ydirson@altern.org>
To: John Koleszar <john.koleszar@on2.com>
Cc: "git@vger.kernel.org" <git@vger.kernel.org>
Subject: Re: git-svn: importing internal externals
Date: Thu, 28 May 2009 13:25:43 +0200	[thread overview]
Message-ID: <20090528112542.GA24403@nan92-1-81-57-214-146.fbx.proxad.net> (raw)
In-Reply-To: <1243443089.3192.43.camel@cp-jk-linux.corp.on2.com>

On Wed, May 27, 2009 at 12:51:29PM -0400, John Koleszar wrote:
> Hi,
> 
> I'm working on a one-off import of an SVN repo that makes use of
> "internal" svn:externals; i.e. all URLs refer to different spots in the
> same repo, potentially with peg revisions. The SVN repo holds a number
> of projects, and my plan is to import them into individual git repos,
> incorporating the history from any svn:external linked sub-projects.

I have started to work on exactly this, at fetch time instead of as a
post-process.  I have for now only hooked parsing of the svn:externals
properties, and just need to find the time to resume and finish.

My plan on the user side is to provide flags to map svn urls to git urls.


> My current strategy is to let git-svn fetch the project as it normally
> would, then fix up the history on each branch by parsing the
> unhandled.log with a filter-branch script. I'm currently using an index
> filter, which works reasonably well, but has the undesired effect of
> squashing commits on the subproject into commits on the parent project.
> So if the subproject is modified in rA and rC, and the project in rB and
> rD, my modified history shows only rB and rD, with rA squashed into rB
> and rC squashed into rD, when I'd really like to see all 4 commits.

Yes, this is the main issue for correctness.  For this we would have to
check, before processing any new commit, if any of the submodules got any
intervening commits, and commit them first.


> I'd be happy to share my filter
> script (about 100 lines) if someone wants to see it.

It can be a good idea to share your script nevertheless :)

Best regards,
-- 
Yann

  reply	other threads:[~2009-05-28 11:25 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-27 16:51 git-svn: importing internal externals John Koleszar
2009-05-28 11:25 ` Yann Dirson [this message]
2009-05-29 21:05   ` John Koleszar
2009-06-10 21:58   ` Yann Dirson

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090528112542.GA24403@nan92-1-81-57-214-146.fbx.proxad.net \
    --to=ydirson@altern.org \
    --cc=git@vger.kernel.org \
    --cc=john.koleszar@on2.com \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).