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

Re: [PATCH] git-svn: teach git-svn to populate svn:mergeinfo

From
BJBryan Jacobs <bjacobs@woti.com>
Date
Sep 6, 2011, 14:00 UTC
Message-ID
<20110906100003.4c87daba@robyn.woti.com>
In-Reply-To
<20110903084947.GA16711@dcvr.yhbt.net>

On Sat, 3 Sep 2011 08:49:47 +0000 Eric Wong <normalperson@yhbt.net> wrote:

Show 9 quoted lines
> dcommit needs to continually rebase because it's possible somebody
> else may make a commit to the SVN repo while a git-svn user is
> dcommiting and cause a conflict the user would need to resolve in the
> working tree.
> 
> At least I think that was the reason...  There is also the
> "commit-diff" command in git-svn.  It was the precursor to dcommit
> which requires no changes to the working tree.
> 
Let me see if I've got this right.

The goal here is to commit each x~..x for each x in A..B, aborting if the SVN tree is not in state "x~" when the diff arrives.

"commit-diff" appears to be doing exactly what "dcommit" is doing, but iteratively for each change in linearized A..B, rebasing after each step. This sounds correct to me, assuming that the "apply_diff" method will correctly abort if a commit races into the upstream SVN before it is called. So why am I seeing files added in changes on alternate branches ending up in the working copy when I abort before apply_diff is called for the commit which merges them into the present branch?

You can check for this yourself with my patch using the example setup I gave earlier. You'll see files in the present/untracked state - these interfere with rebasing the user-created-but-not-SVN-dcommited merge onto the partially-sent-to-SVN tree.

Bryan Jacobs
Previous: Eric WongNext: Eric Wong
Message 8 of 11 in “git-svn: teach git-svn to populate svn:mergeinfo”
  1. git-svn: teach git-svn to populate svn:mergeinfoBryan Jacobs, Sep 2, 2011
  2. Sam VilainSep 2, 2011
  3. Bryan JacobsSep 2, 2011
  4. Sam VilainSep 2, 2011
  5. Bryan JacobsSep 2, 2011
  6. Sam VilainSep 2, 2011
  7. Eric WongSep 3, 2011
  8. Bryan JacobsSep 6, 2011
  9. Eric WongSep 6, 2011
  10. Eric WongSep 6, 2011
  11. Bryan JacobsSep 7, 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.