git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bruno Harbulot <Bruno.Harbulot@manchester.ac.uk>
To: git@vger.kernel.org
Subject: Efficient cloning from svn (with multiple branches/tags subdirs)
Date: Tue, 13 Oct 2009 19:13:17 +0100	[thread overview]
Message-ID: <hb2fvu$8qi$1@ger.gmane.org> (raw)

Hello,

I'm trying to clone an existing subversion repository (Restlet: 
http://restlet.tigris.org/source/browse/). I'm using Git 1.6.5. The 
layout of the project is like this:
   trunk/
   branches/1.0
   branches/1.1
   tags/1.0/1.0b1
   tags/1.0/1.0b2
   ...
   tags/1.0/1.0.1
   ...
   tags/1.1/1.1.0
   tags/1.1/1.1.1
   ...

Therefore, I've tried to use this (with and without '-T trunk', but 
that's a separate problem):

   git init
   git svn init --prefix=svn/ -t tags/1.0 -t tags/1.1 -t tags/1.2 -t 
tags/2.0 -b branches/1.0 -b branches/1.1 
http://restlet.tigris.org/svn/restlet
   git svn fetch


This takes a while (I've had to interrupt this) and this creates a 
number of branches such as:
   remotes/svn/tags/1.0b1
   remotes/svn/tags/1.0b2
   remotes/svn/tags/1.0b3
   remotes/svn/tags/1.0b3@1883
   remotes/svn/tags/1.0b3@323


What surprises me is that it looks like it's looping over and over, 
since sometimes it starts back from SVN revision 1 when it's trying to 
import a new tag.

Tt starts like this:
> 
> Checked through r101
> Checked through r201
> Checked through r301
>       A       www/index.html
> r1 = 2ec77afc2e491e2b7c825cb685101e3bcbe7a8f7 (refs/remotes/svn/tags/1.0b1@312)
>         A       source/impl/License.txt
>         A       source/impl/Copyright.txt
>         A       source/impl/org/restlet/UniformInterface.java
>         A       source/impl/org/restlet/RestletException.java
> ...

Then, when it reaches r312, it starts again at r1:

> r312 = 5b40558b5bb2b4b04f9520f89b699ff6b0f50cdb (refs/remotes/svn/tags/1.0b1@312)
> r313 = 7ebcbd9da535cfdc23aacb612271e625445a7516 (refs/remotes/svn/tags/1.0b1@1881)
> r1882 = aed1582d4868a1be8ae8fcc0f15546822099f339 (refs/remotes/svn/tags/1.0b1)
> Checked through r101
> Checked through r201
> Checked through r301
>       A       www/index.html
> r1 = 2ec77afc2e491e2b7c825cb685101e3bcbe7a8f7 (refs/remotes/svn/tags/1.0b2@321)
>         A       source/impl/License.txt
>         A       source/impl/Copyright.txt
>         A       source/impl/org/restlet/UniformInterface.java
>         A       source/impl/org/restlet/RestletException.java
>         A       source/impl/org/restlet/AbstractRestlet.java
>         A       source/impl/org/restlet/connector/Resolver.java

(And so on for each tag).

This seems particularly inefficient and unfriendly for the resource 
provider (I stopped as soon as I noticed). Is there a better way to do this?


Best wishes,

Bruno.

             reply	other threads:[~2009-10-13 18:24 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-13 18:13 Bruno Harbulot [this message]
2009-10-14  6:03 ` Efficient cloning from svn (with multiple branches/tags subdirs) Eric Wong
2009-10-14  9:07   ` Bruno Harbulot
2009-10-14 16:28   ` Avery Pennarun
2009-10-14 18:00     ` Eric Wong
2009-10-14 18:26       ` Avery Pennarun
2009-10-15 17:23         ` Bruno Harbulot
2009-10-15 17:29           ` B Smith-Mannschott
2009-10-16 11:20             ` Bruno Harbulot

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='hb2fvu$8qi$1@ger.gmane.org' \
    --to=bruno.harbulot@manchester.ac.uk \
    --cc=git@vger.kernel.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 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).