Modify

Opened 21 months ago

Last modified 17 months ago

#10781 new defect

Error when cloning SVN repository using Mercurial or Git with their respective SVN connectors

Reported by: rjollos Owned by: otaku42
Priority: normal Component: TracHacks
Severity: normal Keywords: repository
Cc: hasienda, osimons, olemis Trac Release:

Description

I’ve tried cloning the trac-hacks repository several times with Mercurial. I’m using hgsubversion. Each time it fails at r321:

[r629] pacopablo: TracBlogPlugin:
[r630] Team5: PeerReviewPlugin:
[r631] Team5: PeerReviewPlugin:
abort: ("REPORT of 'http://trac-hacks.org/svn': Could not read chunk size: connection was closed by server (http://trac-hacks.org)", 175002)

I've seen similar issues with trying to clone the repository with Git, but I haven't documented the issue yet.

Attachments (1)

rev_map.bz2 (279.1 KB) - added by hasienda 19 months ago.
SVN to Hg revision map file trunkated to r11924

Download all attachments as: .zip

Change History (9)

comment:1 follow-up: Changed 19 months ago by hasienda

  • Cc rjollos removed
  • Keywords repository added

As you remember I shared my Mercurial copy of trac-hacks.org's SVN repo, when it was down for some weeks last year.

I had issues retrieving the full repo too. Hgsvn was my first try, and I succeeded only after days of try-n-error. With hgsubversion, that I continued to use until now, it was only a matter of some hours. Both Hg extensions bailed out at seemingly random times. I could not reproduce specific revisions. Both extensions where able to resume, but I had to clean-up at least 5-8 times to get through with hgsubversion. From hgsvn I do not remember, but the error-resume cycles must have been 3 times as high, if not more, and the resulting hybrid repo clone grew to at least twice the size of the hgsubversion clone, so I'd never dare to attempt it again that way.

Your experience may vary, but my initial sync was before revision 9000, and we're well above 12000 now, so I would expect at least 8 hours to complete the procedure these days. Remember, that you'll have to take a look at the process every now and then to discover failure, cleanup/rollback to last completed revision and restart.

comment:2 follow-up: Changed 19 months ago by rjollos

Thanks for the pointers on Hg! I haven't used Hg much, but hope to start working with it more.

I did some googling around and found that solution to cloning with Git was to use https in the URL rather than http. I think it took just around two hours to clone the whole repository.

comment:3 in reply to: ↑ 1 ; follow-up: Changed 19 months ago by olemis

Replying to hasienda:

As you remember I shared my Mercurial copy of trac-hacks.org's SVN repo, when it was down for some weeks last year.

this is a public fork
https://bitbucket.org/olemis/bloodhound-t-h.o

I had issues retrieving the full repo too.

Always like that for big repositories .

Hgsvn was my first try, and I succeeded only after days of try-n-error.

I've experienced many issues with hgsvn in the past (mostly related to following deleted files)

With hgsubversion, that I continued to use until now, it was only a matter of some hours.

highly recommended .

Q:

  • @hasienda: the fork you shared @ bitbucket was the hgsvn or hgsubversion mirror ?

in case of being the later , could u please share the svn to hg mapping files ? ... so as to be able to do things like

$ hg log --template="[{svnrev}] - {desc}\n"

Both Hg extensions bailed out at seemingly random times. I could not reproduce specific revisions. Both extensions where able to resume, but I had to clean-up at least 5-8 times to get through with hgsubversion. From hgsvn I do not remember, but the error-resume cycles must have been 3 times as high, if not more, and the resulting hybrid repo clone grew to at least twice the size of the hgsubversion clone, so I'd never dare to attempt it again that way.

+1

[...]

comment:4 Changed 19 months ago by anonymous

  • Cc olemis added

comment:5 in reply to: ↑ 3 ; follow-up: Changed 19 months ago by hasienda

Replying to olemis:

Q:

  • @hasienda: the fork you shared @ bitbucket was the hgsvn or hgsubversion mirror ?

What I'm still working with hgsubversion.

in case of being the later , could u please share the svn to hg mapping files ?

Sure, attached here. Or did you look for something else?

Changed 19 months ago by hasienda

SVN to Hg revision map file trunkated to r11924

comment:6 in reply to: ↑ 5 Changed 19 months ago by olemis

Replying to hasienda:

Replying to olemis:

Q:

  • @hasienda: the fork you shared @ bitbucket was the hgsvn or hgsubversion mirror ?

What I'm still working with hgsubversion.

in case of being the later , could u please share the svn to hg mapping files ?

Sure, attached here. Or did you look for something else?

Thanks . It seems this is it . However I wonder whether hgsubversion will support propagating revision mapping file(s) onto forks and clones ...

comment:7 in reply to: ↑ 2 Changed 17 months ago by rjollos

Replying to rjollos:

I did some googling around and found that solution to cloning with Git was to use https in the URL rather than http. I think it took just around two hours to clone the whole repository.

I should note that I encountered a few errors while cloning. IIRC, I kicked it off again with git svn fetch.

Another approach that has worked for me, is to init a Git repository, edit .git/config to add

[svn-remote "svn"]
        url = https://trac-hacks.org/svn
        fetch = :refs/remotes/git-svn

and then execute git svn fetch. When doing that just now, I was able to fetch all of the revisions in an hour or two, with the fetch halting on an error just once (1). I'm the farthest thing from an expert on Git, but I think those two approaches are effectively the same.

I'm leaving this ticket open with the idea that we might want to summarize some of these things in an FAQ page on t-h.o.

(1) The error was:

r7009 = 9bfdc3c0d681256956b3d94a8fe0da31b17903a4 (refs/remotes/git-svn)
RA layer request failed: Server sent unexpected return value (408 Request Time-out) in response to REPORT request for '/svn/!svn/vcc/default' at /usr/lib/git-core/git-svn line 5653

comment:8 Changed 17 months ago by rjollos

  • Summary changed from Error when cloning SVN repository using Mercurial or Git to Error when cloning SVN repository using Mercurial or Git with their respective SVN connectors

Add Comment

Modify Ticket

Action
as new .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.