top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

Is Git and SVN Repo sharing possible ?

+3 votes
296 views

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.

posted Jan 30, 2014 by Sanketi Garg

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

1 Answer

+1 vote

There's git-svn, but it can be a bit of work to set up the automatic propagation from SVN to git (and back again I guess). You might also want to have a look at subgit, it's a commercial tool but it has a rather generous license last time I looked (free for small projects, even in commercial settings).

For one-off conversions there's also reposurgeon.

answer Jan 31, 2014 by Ankit
Similar Questions
+2 votes

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)?

+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) ?

+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?

+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?

...