git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
JWJosef Wolf <jw@raven.inka.de>
Date
May 6, 2009, 18:52 UTC
Message-ID
<20090506185224.GM15420@raven.wolf.lan>
In-Reply-To
<20090504211423.GK15420@raven.wolf.lan>
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:

Show 24 quoted lines
>  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?

Previous: Josef WolfNext: Avery Pennarun
Message 17 of 31 in “Trying to sync two svn repositories with git-svn (repost)”
  1. Josef WolfApr 27, 2009
  2. Josef WolfApr 28, 2009
  3. Avery PennarunApr 28, 2009
  4. Josef WolfApr 28, 2009
  5. Avery PennarunApr 29, 2009
  6. Josef WolfApr 29, 2009
  7. Avery PennarunApr 29, 2009
  8. Josef WolfApr 29, 2009
  9. Avery PennarunApr 30, 2009
  10. Josef WolfApr 30, 2009
  11. Avery PennarunApr 30, 2009
  12. Josef WolfMay 1, 2009
  13. Avery PennarunMay 1, 2009
  14. Josef WolfMay 2, 2009
  15. Avery PennarunMay 4, 2009
  16. Josef WolfMay 4, 2009
  17. Josef WolfMay 6, 2009
  18. Avery PennarunMay 6, 2009
  19. Josef WolfMay 6, 2009
  20. Avery PennarunMay 8, 2009
  21. Josef WolfMay 8, 2009
  22. Josef WolfMay 13, 2009
  23. Avery PennarunMay 13, 2009
  24. Josef WolfMay 13, 2009
  25. Avery PennarunMay 14, 2009
  26. Josef WolfMay 14, 2009
  27. Avery PennarunMay 14, 2009
  28. Josef WolfMay 15, 2009
  29. Avery PennarunMay 15, 2009
  30. Josef WolfMay 17, 2009
  31. Josef WolfMay 20, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.