top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

git-svn troubles with calendarserver SVN repo

+2 votes
646 views

I am trying to git-svn clone https://svn.calendarserver.org/repository/calendarserver/CalendarServer/
and I cannot say I am much successful. Every couple of hundred of commits I get this:

RA layer request failed: REPORT of '/repository/calendarserver/!svn/vcc/default': could not connect to
server (https://svn.calendarserver.org) at /usr/local/share/perl5/Git/SVN/Ra.pm line 290.

and git-svn stops. When restarting git svn fetch, it fetches another couple of hundred commits and then fails again. Given that there are 11000+ commits just in the trunk, I am afraid of a long long night. Did anybody managed to clone this repo? Or is there some way how to make git-svn more patient (this error
means the SVN server is a bit flakey, right)?

posted Nov 29, 2013 by Ahmed Patel

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

2 Answers

+1 vote

I have seen this behaviour, though never determined the root cause. Probably the simplest thing you can do without access to the server is to put your git svn fetch into a bash while loop, like so:

while ! git svn fetch; do :; done;
answer Nov 30, 2013 by Bob Wise
I did this, but still I wonder how much is the resulting git repository http://luther.ceplovi.cz/git/CalendarServer.git/ faithful representation of the original SVN one http://trac.calendarserver.org/. Would not be something missing?
My experience is that the fetch will be atomic - it either fetches an SVN commit or it doesn't.

Failure during dcommit is more painful and I usually find it is necessary to manually use a git rebase to rebase the commits that didn't make it to SVN on top of the commits that did.
+1 vote

Consider using (the somewhat experimental) git-remote-testsvn and the underlying contrib/svn-fe/. For starters, try:

$ git clone testsvn::https://svn.calendarserver.org/repository/calendarserver/CalendarServer/

You might need to hack a bit to get it working properly, but you'll find that it's much faster than git-svn in the long-run.

answer Dec 2, 2013 by Meenal Mishra
Similar Questions
+3 votes

We are tasked to move a code branch named "A" within SVN repo to Git. We also have trunk merges going on between "A" and trunk in SVN.Is it possible to set up with Git and SVN such that1) Trunk changes in SVN could be propagated to Git version control ?If not, how can we resolve this need with an efficient setup?

We don't think it is possible but we like to confirm.

+1 vote

I would like to use Git with a SVN, so I try to clone the SVN repo with "git svn clone svn://myserver", it is a repo without trunk etc. Git reports the error "Couldn't find a repository". The SVN repo uses an authentification (username & password) and a normalsvn checkout works well.
How can I use the SVN repo with Git?

+1 vote

I am trying to move from svn to GIT. With svn I use ssh and a svnserve wrapper like this one :

#!/bin/shumask 002exec /usr/bin/svnserve "$@" -r /very/long/path/to/projets

So I can use URI like this one : svn co svn+ssh://me@my-server.com/my-super-project/trunk
How can I achieve the same behavior with git (i.e. something like git clone me@my-server.com:my-super-project) ?

+2 votes

I am getting some unexpected results from a merge and I'd like to understand why.

I have two commits X and Y that I want to merge.

git merge-base X Y # yields B
git diff B X -- F # is empty
git diff B Y -- F # contains the change I want merged
git rev-list X ^B -- F # is empty
git rev-list Y ^B -- F # contains one commit

git checkout X
git merge Y

fails with fixable merge conflicts on other files, but uses X's copy of F instead of Y's. I was expecting it to use Y's copy of F, since only Y has modified F since B. What could cause this?

...