git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Eivind LM" <eivliste@online.no>
To: "Sam Vilain" <sam@vilain.net>,
	"Jonathan del Strother" <maillist@steelskies.com>
Cc: git@vger.kernel.org
Subject: Re: Split a subversion repo into several git repos
Date: Fri, 12 Oct 2007 16:14:01 +0200	[thread overview]
Message-ID: <op.tz28hnd2jwclfx@ichi> (raw)
In-Reply-To: <470E9858.5050904@vilain.net>

On Thu, 11 Oct 2007 23:40:40 +0200, Sam Vilain <sam@vilain.net> wrote:

> Jonathan del Strother wrote:
>>> For example, I want to convert one subversion repository which
>>> contains the folders:
>>> trunk/projectA
>>> trunk/projectB
>>>
>>> into two git repositories:
>>> projectA.git
>>> projectB.git
>>
>> I have a slightly different layout to you -
>>
>> projectA/trunk
>> projectA/branches
>> projectA/tags
>> projectB/trunk
>> projectB/branches
>> projectB/tags
>> etc
>>
>> - but I've been creating separate git repos from that with (for
>> example) :
>>
>> git-svn init -t tags -b branches -T trunk http://svn.host.com/projectA
>> git-svn fetch
>>
>>
>> Or will git-svn not work with your sort of layout?
>
> It does work.  Use:
>
> git-svn init -t projectA/tags -b projectA/branches \
>    -T trunk/projectA http://svn.host.com/
> git fetch

With my paths this translates into

   $ git-svn init -b eivindlm/branches \
                  -t eivindlm/tags \
                  -T eivindlm/trunk/src/probesimulator \
                  file:///svn-repo/
, which prints the happy message:
   Initialized empty Git repository in .git/

The next command is unfortunately not as happy:
   $ git fetch
   fatal: 'origin': unable to chdir or not a git archive
   fatal: The remote end hung up unexpectedly
   Cannot get the repository state from origin

I suppose this is due to my silly svn-repo layout... However, after some  
trial and error it seems like the following command gives me what I want  
(I don't need tags or other branches than main):

   $ git-svn clone file:///svn-repo/ --follow-parent \
                   -T eivindlm/trunk/src/probesimulator

It seems to realize that the probesimulator directory has moved around in  
my tree, and gives me history for files that belongs in this directory  
only (and not history for other directories). So the problem appears to be  
solved for my part, unless you see a reason for why I should not do it in  
this way.

> [...]

Thanks a lot for the help to everyone who replied!

Eivind

  reply	other threads:[~2007-10-12 14:14 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-11 12:51 Split a subversion repo into several git repos Eivind LM
2007-10-11 13:24 ` Patrick Doyle
2007-10-12 14:15   ` Eivind LM
2007-10-11 13:46 ` Jonathan del Strother
2007-10-11 14:02   ` Patrick Doyle
2007-10-11 14:50     ` Karl Hasselström
2007-10-11 21:40   ` Sam Vilain
2007-10-12 14:14     ` Eivind LM [this message]
2007-10-12 14:23       ` Jonathan del Strother
2007-10-12 14:47         ` Eivind LM
2007-10-12 20:27       ` Sam Vilain

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=op.tz28hnd2jwclfx@ichi \
    --to=eivliste@online.no \
    --cc=git@vger.kernel.org \
    --cc=maillist@steelskies.com \
    --cc=sam@vilain.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).