Subject: Re: [ANNOUNCE] git-svn - bidirection operations between svn and git

From: Eduardo Pereira Habkost <[email-masked]>
Date: Thu, 16 Feb 2006 11:42:48 -0200

On Wed, Feb 15, 2006 at 11:38:26PM -0800, Eric Wong wrote:
> Hello, I've written a simple tool for interoperating between git and
> svn.  I wrote this so I could use git to work on projects where other
> developers use Subversion.  I really hate using svn, but some projects I
> work on require it, and svk isn't nearly as fast nor simple as git.

Great, I was doing some testing with git-svnimport for this, but I missed
a tool to automatically commit to svn what I have in my GIT tree.

> 
> git-svn does not replace git-svnimport, git-svnimport handles branches
> and tags automatically, but is too inflexible about repository layouts
> to be useful for a good number of projects I follow, and of course
> git-svnimport can't commit to Subversion repositories :)

I am already using git-svnimport to keep a "mirror" of some subversion
repositories, here (automatically udpated on crontab). Do you plan to
allow "integration" with repositories that are just clones of
git-svnimport'ed repositories?

I plan to keep using git-svnimport and the standard git tools to work
using the "svn mirror on git" as the main repository, but I plan to use
"git-svn commit" to commit to the SVN repositories. I want this "commit
tool" to not affect the current repository in any way, just like git-push:
only send the commits to the remote repository and don't change anything
in the local repository.

However, it seems that "git-svn commit" does some tasks assuming we
are on a "git-svn aware" repository (e.g. the "resyncing" just after
the commit). Would you accept patches to allow using "git-svn commit"
to commit changes from any GIT repository (i.e. not "svn-git aware"
repositories) to any SVN repository, just like "git-push" would work
for a GIT repository?

However, I am not sure if the easier way would be changing git-svn to
do this for me or writing a different script just for this task.

> 
> git-svn only cares about a single branch/trunk in SVN[1], but you can
> use as many branches in git as you want.  This makes it much easier to
> use and allows it to handle just about any repository layout, not just
> those recommended in the SVN book/developers.
> 
> Although importing changesets from SVN is mostly a linear affair,
> committing to SVN is the opposite.  You may commit git tree objects in
> any order you want.  It simply clobbers the existing svn tree as
> 'git-checkout -f' would, but tags file renames/copies carefully so users
> on the SVN side can see them.  You can even do some wacky things with
> patch reordering.

Good, this is what I expect to be able to do when commiting to svn.

-- 
Eduardo