From: Avery Pennarun Date: Mon, 04 May 2009 15:58:20 GMT Subject: Re: Trying to sync two svn repositories with git-svn (repost) Message-ID: <32541b130905040858v2a0b7a6br5b056a365fcb6855@mail.gmail.com> In-Reply-To: <20090502215852.GJ15420@raven.wolf.lan> On Sat, May 2, 2009 at 5:58 PM, Josef Wolf wrote: > Somehow, I still can't get it work.  This is what I do: [...] >  # move stuff from svn-2 to svn-1 >  # >  git svn fetch svn-2 >  git checkout svn-1 >  git cherry-pick 05b964 >  [  continue cherry-picking ] >  git merge --no-ff -s ours svn-1 Note that you probably should be merging '-s ours svn-2' here, not svn-1. svn-1 already contains svn-1 (of course) so that merge didn't do anything. It most especially doesn't mark svn-1 as being up-to-date with svn-2, and that's probably going to make trouble later. >  # check what I have done >  # >  git diff svn-1-orig svn-1/trunk # shows what I expect This is unsurprising, since you haven't changed either branch during the above. >  # move the result to svn-1 >  # >  git checkout svn-1/trunk >  git merge --no-ff svn-1 >  git svn dcommit This looks ok. >  # move stuff from svn-1 to svn-2 >  # >  git svn fetch svn-1 >  git checkout svn-2 >  git cherry-pick -n c9dae >  [ continue cherry-picking ] >  git merge --no-ff -s ours svn-2 Again, you seem to have merged in the wrong branch here. This one should be svn-1. >  # check what I have done >  # >  git diff svn-2-orig svn-2/trunk # shows what I expect Again, these branches haven't changed, so no surprise here either. >  # move the result to svn-2 >  # >  git checkout svn-2/trunk >  git merge --no-ff svn-2 >  git svn dcommit This seems ok. > At this point, we should be synchronized. Yes, although there are no merges between svn-1 and svn-2, so the next attempt at merging will merge *everything*, causing conflicts. >  git checkout svn-2/trunk >  git svn fetch svn-1 >  git merge --no-ff svn-1 > > BOOM.  Although no new commits were fetched, we get a lot of conflicts > here.  So git is not fully aware about the fact that we are synchronized. You seem to almost have it. Fix the -s ours merges above and I think you'll be in business. Have fun, Avery