Modify

Opened 12 years ago

Closed 8 years ago

#10781 closed defect (fixed)

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

Reported by: Ryan J Ollos Owned by: Michael Renzmann
Priority: normal Component: TracHacks
Severity: normal Keywords: repository
Cc: Steffen Hoffmann, osimons, Olemis Lang 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 Steffen Hoffmann 12 years ago.
SVN to Hg revision map file trunkated to r11924

Download all attachments as: .zip

Change History (10)

comment:1 Changed 12 years ago by Steffen Hoffmann

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 Changed 12 years ago by Ryan J Ollos

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 ; Changed 12 years ago by Olemis Lang

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 12 years ago by anonymous

Cc: Olemis Lang added

comment:5 in reply to:  3 ; Changed 12 years ago by Steffen Hoffmann

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 12 years ago by Steffen Hoffmann

Attachment: rev_map.bz2 added

SVN to Hg revision map file trunkated to r11924

comment:6 in reply to:  5 Changed 12 years ago by Olemis Lang

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 12 years ago by Ryan J Ollos

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 12 years ago by Ryan J Ollos

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

comment:9 Changed 8 years ago by Ryan J Ollos

Resolution: fixed
Status: newclosed

Closing this since we have resolution. Eventually I hope to setup host-side repository mirroring between Git and SVN using SubGit.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Michael Renzmann.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


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

 
Note: See TracTickets for help on using tickets.