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
Avery Pennarun <apenwarr@gmail.com>
Date
May 13, 2009, 17:28 UTC
Message-ID
<32541b130905131028i5c4b1a31j7f760f8157507df6@mail.gmail.com>
In-Reply-To
<20090513120922.GP15420@raven.wolf.lan>
On Wed, May 13, 2009 at 8:09 AM, Josef Wolf <jw@raven.inka.de> wrote:
> Now here's the problem:  This last dcommit does simply a reset, because
> nothing has changed since the last dcommit.  So a5cf3..c3ff2 are _not_
> marked as ancestors of svn-2/trunk, causing those cherries to be rebased
> at the next dcommit with real changes.

I find this a *bit* curious, since each dcommit should be adding the cherry-picked changes you just now picked from the opposite branch, right? If you weren't going to change anything, then you wouldn't have needed to do the cherry picks at all; you could have just done a merge -s ours in both directions in the first place.

Anyway, regardless of the above, AFAIK there's no way to force svn to make an empty commit, which is a problem in this case. You can make a nonempty commit, though; I've done this in the past by just adding a newline to the end of some arbitrary file. Basically:

git merge -s ours whatever echo >>Makefile git add Makefile git commit --amend git svn dcommit

Silly, but it works.
> Unfortunately, dcommit doesn't seem to have an option to force rebase
> instead of resetting.

Well, in fact it *is* rebasing, which throws away the extra commit because it thinks that commit didn't do anything. I've experienced this problem a few times in the past, but I knew what was happening and I figured my case was too rare to matter. Perhaps not.

This could be considered a bug in git-svn, so I cc:'d Eric Wong, who I think is the main git-svn developer. Anyway, try the workaround above.

Good luck,
Avery
Previous: Josef WolfNext: Josef Wolf
Message 23 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.