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

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?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help