Efficient cloning from svn (with multiple branches/tags subdirs)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]