Re: Trying to sync two svn repositories with git-svn (repost)
From: Josef Wolf <hidden>
Date: 2016-06-15 22:46:43
On Mon, May 04, 2009 at 11:14:23PM +0200, Josef Wolf wrote: I am still trying to understand what is going on here, so I tried to draw the history-graph. It turns out that after the "getting-started" commands is not what I would have expected:
git tag svn-1-orig svn-1 git tag svn-2-orig svn-2 # move cherries to svn-2 # git svn fetch svn-1 git checkout svn-2 git cherry-pick c9da [ ... ] git merge --no-ff -s ours svn-1 git checkout svn-2/trunk git merge --no-ff svn-2 git svn dcommit # move cherries to svn-1 # git svn fetch svn-2 git checkout svn-1 git cherry-pick 05b9 [ ... ] git merge --no-ff -s ours svn-2 git checkout svn-1/trunk git merge --no-ff svn-1 git svn dcommit
Here's what I have at this point:
------------------S1TRUNK
/ /
--hs1--O1--c2...c2-------S1
\ /
`+++++++. /
\ /
--hs2--O2--c1...c1--S2
\ \
-------------S2TRUNK
hs1, hs2: history imported from svn-1 and svn2, respectively
O1, O2: the svn-1-orig and svn-2-orig tags
c1, c2: cherries picked from hs1 and hs2, respectively
S1, S2: svn-1 and svn-2, the local tracking branches
S1TRUNK, S2TRUNK: the remotes/svn-X/trunk branches
I would have expected a symmetrical diagram. But it turns out that the
connection marked with plusses is still at O1 instead of S1. So it takes
no wonder that the c2 cherries get re-applied to the s2 branch on the
next merge.
Is this understanding somewhat plausible? Any ideas how to get this
this fixed?