Thread (31 messages) flat view 31 messages, 2 authors, 2016-06-15

Re: Trying to sync two svn repositories with git-svn (repost)

From: Avery Pennarun <hidden>
Date: 2016-06-15 22:46:42

On Sat, May 2, 2009 at 5:58 PM, Josef Wolf [off-list ref] 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help