Subject: Re: Git / Subversion Interoperability

From: "Shawn O. Pearce" <[email-masked]>
Date: Sat, 24 Mar 2007 02:56:32 -0400

Steven Grimm <[email-masked]> wrote:
> Christian Wiese wrote:
> >I'm currently facing this issue while trying to migrate from svn to git
> >within my local working environment to gather experience while working
> >with git to be able to effectively "sell" git to the other people of
> >our project and provide a smooth migration path for them.
> >  
> 
> Would a git svn server be of interest in such a situation, though? 
> That's exactly the situation I'm in, and git-svn is doing an admirable 
> job of integrating the two environments without disrupting the folks who 
> are happy with svn. It seems like the git svn server would be useful in 
> the opposite environment, where you have a git project that people want 
> to access with svn tools (e.g. because there's no git integration in an 
> IDE or whatever.)
> 
> Maybe I'm just misunderstanding what the server in question would do, 
> but it seems like it's not likely to be that useful in cases where you 
> already have a real svn server running and holding the canonical copy of 
> the project.

Well, it does make it harder to transparently remove the SVN server
and drop in a Git based one.  ;-)

But I think Steven is right; like the git-cvsserver you can't do
everything with git-svnserver that you could have done with SVN or
with Git.  But you can get basic access to the Git repository and
still work with it through SVN based tools.

If that means that we export things according to the suggested
SVN repository layout, so be it.  Its difficult to argue with
us when we've followed the SVN advice.  ;-)

Christian pointed out that some projects may have different "slightly
related" modules stored in the same repository, and have come to
expect this to work in certain ways.  Moving to Git is difficult
for them as git-svnimport and git-svn can have a difficult time
divining the correct layout from the soup that is available in SVN.

But its also hard for Git to export soup back.  That is, even once
we've successfully decoded the soup we don't really have good
submodule support, so we cannot (easily) take two different Git
repositories (one per "slightly related" module) and export them
under a single SVN name/revision-space.

-- 
Shawn.