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

git-svn and mergeinfo

From
BJBryan Jacobs <bjacobs@woti.com>
Date
Aug 29, 2011, 17:20 UTC
Message-ID
<20110829132052.0ad7a088@robyn.woti.com>
Dear git Developers,

Apologies if this is not the right forum for bug reports. I was unable to find a Bugzilla/Redmine/Flyspray instance for issue maintenance, nor some "proper procedure" on the git web page.

I have been (ab)using git-svn for committing to a central SVN repository while doing my work locally with git. To this end, I've written a set of scripts and hooks which perform squash merges locally and then dcommit them with proper svn:mergeinfo annotations. The final result is the perfect appearance of having done a native SVN merge in the central repository, while using only local git commands and gaining the full benefit of git's conflict resolution and developer convenience.

However, to make this work with git 1.7.6, I needed to make *one* change to the git internals: --merge-info does not allow setting mergeinfo for more than one branch. Because it's a complete overwrite operation instead of an update, this is a serious issue preventing its use for nontrivial branches.

Might I suggest adding a block like the following around line 552 of git-svn?

    if (defined($_merge_info))
    {  
        $_merge_info =~ tr{ }{\n};
    }

This will replace any spaces in --merge-info with newlines, allowing specification of an svn:mergeinfo that contains merges from more than a singe branch. So the user can provide "--merge-info '/branch1:r2323-3849,r8888 /branch2:r9999'" and the like.

Thank you for your consideration. I am not subscribed to this list, so if there are any replies, please copy my address.

Bryan Jacobs
Next: Jeff King
Message 1 of 14 in “git-svn and mergeinfo”
  1. Bryan JacobsAug 29, 2011
  2. git bug reportingJeff King, Aug 29, 2011
  3. Bryan JacobsAug 29, 2011
  4. Junio C HamanoAug 29, 2011
  5. Sverre RabbelierAug 31, 2011
  6. Sverre RabbelierAug 31, 2011
  7. Bryan JacobsAug 31, 2011
  8. Sverre RabbelierAug 31, 2011
  9. Michael HaggertySep 1, 2011
  10. Bryan JacobsSep 1, 2011
  11. Junio C HamanoSep 1, 2011
  12. Carlos Martín NietoSep 6, 2011
  13. Bryan JacobsSep 6, 2011
  14. Carlos Martín NietoSep 6, 2011

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.