{"thread":{"id":"9731","subject":"git svn dcommit not checking if up-to-date?","startedAt":"2007-08-31T21:04:24Z","lastAt":"2007-09-01T10:24:53Z","messageCount":11,"participants":["Johannes Schindelin","David Watson","Eric Wong","Karl Hasselström"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"52078","messageId":"Pine.LNX.4.64.0708312200480.28586@racer.site","threadId":"9731","inReplyTo":null,"subject":"git svn dcommit not checking if up-to-date?","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-08-31T21:04:24Z","receivedAt":"2007-08-31T21:04:24Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Eric,\n\nharningt just asked about known issues of git-svn on IRC, and I remembered \nthat I had an issue: Accidentally, I forgot to \"git svn fetch\" before \"git \nsvn dcommit\"ing, and unfortunately, a colleague had just checked in a \nchange, which got undone by my dcommit.\n\nIs this a known issue, has it been fixed, am I a bad pilot?\n\nCiao,\nDscho\n\nP.S.: harningt promised to get his hands dirty, but I just realised that \nthe issue could be fixed since long ago...\n"},{"id":"52094","messageId":"20070831214615.GA3443@mimvista.com","threadId":"9731","inReplyTo":"Pine.LNX.4.64.0708312200480.28586@racer.site","subject":"Re: git svn dcommit not checking if up-to-date?","fromName":"David Watson","fromEmail":"dwatson@mimvista.com","sentAt":"2007-08-31T21:46:15Z","receivedAt":"2007-08-31T21:46:15Z","isPatch":false,"sender":{"key":"dwatson@mimvista.com","avatar":null},"body":"I believe I've had this same issue as well. Like you, I assumed it was\nuser error on my part - I had been doing a lot of 'rebase -i' with that\nparticular set of changes, and figured I had just messed up somehow.\n\nIn my case, my coworker's commit happened 15 minutes before my dcommit, so\nit wasn't *that* close in time. I tried to reproduce at that point, but\nwas unable to. I may try to reproduce this weekend if I get a chance.\n\nOn Fri, Aug 31, 2007 at 10:04:24PM +0100, Johannes Schindelin wrote:\n> Hi Eric,\n> \n> harningt just asked about known issues of git-svn on IRC, and I remembered \n> that I had an issue: Accidentally, I forgot to \"git svn fetch\" before \"git \n> svn dcommit\"ing, and unfortunately, a colleague had just checked in a \n> change, which got undone by my dcommit.\n> \n> Is this a known issue, has it been fixed, am I a bad pilot?\n> \n> Ciao,\n> Dscho\n> \n> P.S.: harningt promised to get his hands dirty, but I just realised that \n> the issue could be fixed since long ago...\n> -\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n\n-- \nDave Watson\nSoftware Engineer\nMIMvista Corp\n"},{"id":"52099","messageId":"20070831221814.GB31033@untitled","threadId":"9731","inReplyTo":"Pine.LNX.4.64.0708312200480.28586@racer.site","subject":"Re: git svn dcommit not checking if up-to-date?","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2007-08-31T22:18:14Z","receivedAt":"2007-08-31T22:18:14Z","isPatch":false,"sender":{"key":"e@80x24.org","avatar":null},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> Hi Eric,\n> \n> harningt just asked about known issues of git-svn on IRC, and I remembered \n> that I had an issue: Accidentally, I forgot to \"git svn fetch\" before \"git \n> svn dcommit\"ing, and unfortunately, a colleague had just checked in a \n> change, which got undone by my dcommit.\n> \n> Is this a known issue, has it been fixed, am I a bad pilot?\n> \n> Ciao,\n> Dscho\n> \n> P.S.: harningt promised to get his hands dirty, but I just realised that \n> the issue could be fixed since long ago...\n\nI believe this was fixed a while back in commit\n45bf473a7bc2c40c8aea3d34a0eab7a41e77a8ff\n(Thu Nov 9 01:19:37 2006 -0800).\n\nI just tested this on a live server, and it seems to be correctly\nerroring out if the local files are not up-to-date.\n\n\nThe only currently known issues that could break commits is from using\nmerge or pull from another svn branch and trying to dcommit the result\n(see CAVEATS section in the manpage).  I hope to fix this soon (hoping\nsomebody beats me to it, of course)\n\n\nOtherwise there's still open bugs on svn:// fetch connections dying and\npermissions issues with some DAV repos, neither of which can cause data\ncorruption on either side.\n\n-- \nEric Wong\n"},{"id":"52101","messageId":"Pine.LNX.4.64.0709010017250.28586@racer.site","threadId":"9731","inReplyTo":"20070831221814.GB31033@untitled","subject":"Re: git svn dcommit not checking if up-to-date?","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-08-31T23:17:33Z","receivedAt":"2007-08-31T23:17:33Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Fri, 31 Aug 2007, Eric Wong wrote:\n\n> Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> > \n> > harningt just asked about known issues of git-svn on IRC, and I \n> > remembered that I had an issue: Accidentally, I forgot to \"git svn \n> > fetch\" before \"git svn dcommit\"ing, and unfortunately, a colleague had \n> > just checked in a change, which got undone by my dcommit.\n> \n> I believe this was fixed a while back in commit\n> 45bf473a7bc2c40c8aea3d34a0eab7a41e77a8ff\n> (Thu Nov 9 01:19:37 2006 -0800).\n\nThat is strange, since I had this issue in July or August (this year).  \nAnd I am quite certain that I ran with pretty up-to-date git (I usually \ntrack \"next\" quite closely).\n\nCiao,\nDscho\n"},{"id":"52103","messageId":"20070831234854.GA6451@mimvista.com","threadId":"9731","inReplyTo":"Pine.LNX.4.64.0709010017250.28586@racer.site","subject":"Re: git svn dcommit not checking if up-to-date?","fromName":"David Watson","fromEmail":"dwatson@mimvista.com","sentAt":"2007-08-31T23:48:55Z","receivedAt":"2007-08-31T23:48:55Z","isPatch":false,"sender":{"key":"dwatson@mimvista.com","avatar":null},"body":"I just reproduced this one in a live repository. Here's what you do:\n\n$ git checkout -b breakme trunk\n$ vi file1.txt\n$ git-commit -a -m 'first change'\n$ vi file2.txt\n$ git-commit -a -m 'second change'\n..... Full moon, become a werewolf ......\nC:\\svnrepo> edit file2.txt\nC:\\svnrepo> svn commit -m 'this will be gone'\n..... Become yourself again ....\n$ git svn fetch --all # (not sure if this is necessary)\n$ git svn dcommit\n$ git log -p\n\nThe change to file2 by your hairier, fanged self will be gone.\nThe critical thing is that you must dcommit *multiple* commits, and the\nfirst one can't be the conflicting file, otherwise it will stop. At the\ntime the first commit of the dcommit has gone through, git-svn now thinks\nit's all up-to-date.\n\nOn Sat, Sep 01, 2007 at 12:17:33AM +0100, Johannes Schindelin wrote:\n> Hi,\n> \n> On Fri, 31 Aug 2007, Eric Wong wrote:\n> \n> > Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> > > \n> > > harningt just asked about known issues of git-svn on IRC, and I \n> > > remembered that I had an issue: Accidentally, I forgot to \"git svn \n> > > fetch\" before \"git svn dcommit\"ing, and unfortunately, a colleague had \n> > > just checked in a change, which got undone by my dcommit.\n> > \n> > I believe this was fixed a while back in commit\n> > 45bf473a7bc2c40c8aea3d34a0eab7a41e77a8ff\n> > (Thu Nov 9 01:19:37 2006 -0800).\n> \n> That is strange, since I had this issue in July or August (this year).  \n> And I am quite certain that I ran with pretty up-to-date git (I usually \n> track \"next\" quite closely).\n> \n> Ciao,\n> Dscho\n> \n> -\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n\n-- \nDave Watson\nSoftware Engineer\nMIMvista Corp\n"},{"id":"52106","messageId":"20070901002501.GA11591@mimvista.com","threadId":"9731","inReplyTo":"20070831234854.GA6451@mimvista.com","subject":"[PATCH] Test for git-svn dcommit clobbering changes","fromName":"David Watson","fromEmail":"dwatson@mimvista.com","sentAt":"2007-09-01T00:25:01Z","receivedAt":"2007-09-01T00:25:01Z","isPatch":true,"sender":{"key":"dwatson@mimvista.com","avatar":null},"body":"If you make multiple commits, and a commit other than the first applies\nto the same file as a new change in the SVN repository, git-svn will blow\naway the other commit's changes.\n\n---\n\n\nOn Fri, Aug 31, 2007 at 07:48:55PM -0400, David Watson wrote:\n> I just reproduced this one in a live repository. Here's what you do:\n> \n> $ git checkout -b breakme trunk\n> $ vi file1.txt\n> $ git-commit -a -m 'first change'\n> $ vi file2.txt\n> $ git-commit -a -m 'second change'\n> ..... Full moon, become a werewolf ......\n> C:\\svnrepo> edit file2.txt\n> C:\\svnrepo> svn commit -m 'this will be gone'\n> ..... Become yourself again ....\n> $ git svn fetch --all # (not sure if this is necessary)\n> $ git svn dcommit\n> $ git log -p\n\n t/t9106-git-svn-commit-diff-clobber.sh |    3 +++\n 1 files changed, 3 insertions(+), 0 deletions(-)\n\ndiff --git a/t/t9106-git-svn-commit-diff-clobber.sh b/t/t9106-git-svn-commit-diff-clobber.sh\nindex 6f132f2..2706153 100755\n--- a/t/t9106-git-svn-commit-diff-clobber.sh\n+++ b/t/t9106-git-svn-commit-diff-clobber.sh\n@@ -50,6 +50,9 @@ test_expect_failure 'dcommit fails to commit because of conflict' \"\n \tsvn commit -m 'fourth line from svn' &&\n \tcd .. &&\n \trm -rf t.svn &&\n+\techo another file from git >> file2 &&\n+\tgit add file2 &&\n+\tgit commit -m 'another file here' &&\n \techo 'fourth line from git' >> file &&\n \tgit commit -a -m 'fourth line from git' &&\n \tgit-svn dcommit\n-- \n1.5.3.rc4\n\nDave Watson\n"},{"id":"52109","messageId":"20070901011612.GA3407@untitled","threadId":"9731","inReplyTo":"20070901002501.GA11591@mimvista.com","subject":"[PATCH] git-svn: fix dcommit clobbering upstream when committing multiple changes","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2007-09-01T01:16:12Z","receivedAt":"2007-09-01T01:16:12Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Although dcommit could detect if the first commit in the series\nwould conflict with the HEAD revision in SVN, it could not\ndetect conflicts in further commits it made.\n\nNow we rebase each uncommitted change after each revision is\ncommitted to SVN to ensure that we are up-to-date.  git-rebase\nwill bail out on conflict errors if our next change cannot be\napplied and committed to SVN cleanly, preventing accidental\nclobbering of changes on the SVN-side.\n\n--no-rebase users will have trouble with this, and are thus\nwarned if they are committing more than one commit.  Fixing this\nfor (hopefully uncommon) --no-rebase users would be more complex\nand will probably happen at a later date.\n\nThanks to David Watson for finding this and the original test.\n---\n  David Watson <dwatson@mimvista.com> wrote:\n  > If you make multiple commits, and a commit other than the first applies\n\n  > to the same file as a new change in the SVN repository, git-svn will blow\n  > away the other commit's changes.\n\n  Thanks David.  I separated out the test case to not modify existing\n  ones.\n\n git-svn.perl                           |   60 +++++++++++++++++---------------\n t/t9106-git-svn-commit-diff-clobber.sh |   30 ++++++++++++++++\n 2 files changed, 62 insertions(+), 28 deletions(-)\n\ndiff --git a/git-svn.perl b/git-svn.perl\nindex 98218da..d3c8cd0 100755\n--- a/git-svn.perl\n+++ b/git-svn.perl\n@@ -384,6 +384,12 @@ sub cmd_dcommit {\n \t}\n \tmy $last_rev;\n \tmy ($linear_refs, $parents) = linearize_history($gs, \\@refs);\n+\tif ($_no_rebase && scalar(@$linear_refs) > 1) {\n+\t\twarn \"Attempting to commit more than one change while \",\n+\t\t     \"--no-rebase is enabled.\\n\",\n+\t\t     \"If these changes depend on each other, re-running \",\n+\t\t     \"without --no-rebase will be required.\"\n+\t}\n \tforeach my $d (@$linear_refs) {\n \t\tunless (defined $last_rev) {\n \t\t\t(undef, $last_rev, undef) = cmt_metadata(\"$d~1\");\n@@ -395,6 +401,7 @@ sub cmd_dcommit {\n \t\tif ($_dry_run) {\n \t\t\tprint \"diff-tree $d~1 $d\\n\";\n \t\t} else {\n+\t\t\tmy $cmt_rev;\n \t\t\tmy %ed_opts = ( r => $last_rev,\n \t\t\t                log => get_commit_entry($d)->{log},\n \t\t\t                ra => Git::SVN::Ra->new($gs->full_url),\n@@ -402,42 +409,39 @@ sub cmd_dcommit {\n \t\t\t                tree_b => $d,\n \t\t\t                editor_cb => sub {\n \t\t\t                       print \"Committed r$_[0]\\n\";\n-\t\t\t                       $last_rev = $_[0]; },\n+\t\t\t                       $cmt_rev = $_[0];\n+\t\t\t                },\n \t\t\t                svn_path => '');\n \t\t\tif (!SVN::Git::Editor->new(\\%ed_opts)->apply_diff) {\n \t\t\t\tprint \"No changes\\n$d~1 == $d\\n\";\n \t\t\t} elsif ($parents->{$d} && @{$parents->{$d}}) {\n-\t\t\t\t$gs->{inject_parents_dcommit}->{$last_rev} =\n+\t\t\t\t$gs->{inject_parents_dcommit}->{$cmt_rev} =\n \t\t\t\t                               $parents->{$d};\n \t\t\t}\n+\t\t\t$_fetch_all ? $gs->fetch_all : $gs->fetch;\n+\t\t\tnext if $_no_rebase;\n+\n+\t\t\t# we always want to rebase against the current HEAD,\n+\t\t\t# not any head that was passed to us\n+\t\t\tmy @diff = command('diff-tree', 'HEAD',\n+\t\t\t                   $gs->refname, '--');\n+\t\t\tmy @finish;\n+\t\t\tif (@diff) {\n+\t\t\t\t@finish = rebase_cmd();\n+\t\t\t\tprint STDERR \"W: HEAD and \", $gs->refname,\n+\t\t\t\t             \" differ, using @finish:\\n\",\n+\t\t\t\t             \"@diff\";\n+\t\t\t} else {\n+\t\t\t\tprint \"No changes between current HEAD and \",\n+\t\t\t\t      $gs->refname,\n+\t\t\t\t      \"\\nResetting to the latest \",\n+\t\t\t\t      $gs->refname, \"\\n\";\n+\t\t\t\t@finish = qw/reset --mixed/;\n+\t\t\t}\n+\t\t\tcommand_noisy(@finish, $gs->refname);\n+\t\t\t$last_rev = $cmt_rev;\n \t\t}\n \t}\n-\treturn if $_dry_run;\n-\tunless ($gs) {\n-\t\twarn \"Could not determine fetch information for $url\\n\",\n-\t\t     \"Will not attempt to fetch and rebase commits.\\n\",\n-\t\t     \"This probably means you have useSvmProps and should\\n\",\n-\t\t     \"now resync your SVN::Mirror repository.\\n\";\n-\t\treturn;\n-\t}\n-\t$_fetch_all ? $gs->fetch_all : $gs->fetch;\n-\tunless ($_no_rebase) {\n-\t\t# we always want to rebase against the current HEAD, not any\n-\t\t# head that was passed to us\n-\t\tmy @diff = command('diff-tree', 'HEAD', $gs->refname, '--');\n-\t\tmy @finish;\n-\t\tif (@diff) {\n-\t\t\t@finish = rebase_cmd();\n-\t\t\tprint STDERR \"W: HEAD and \", $gs->refname, \" differ, \",\n-\t\t\t\t     \"using @finish:\\n\", \"@diff\";\n-\t\t} else {\n-\t\t\tprint \"No changes between current HEAD and \",\n-\t\t\t      $gs->refname, \"\\nResetting to the latest \",\n-\t\t\t      $gs->refname, \"\\n\";\n-\t\t\t@finish = qw/reset --mixed/;\n-\t\t}\n-\t\tcommand_noisy(@finish, $gs->refname);\n-\t}\n }\n \n sub cmd_find_rev {\ndiff --git a/t/t9106-git-svn-commit-diff-clobber.sh b/t/t9106-git-svn-commit-diff-clobber.sh\nindex 6f132f2..79b7968 100755\n--- a/t/t9106-git-svn-commit-diff-clobber.sh\n+++ b/t/t9106-git-svn-commit-diff-clobber.sh\n@@ -66,4 +66,34 @@ test_expect_success 'dcommit does the svn equivalent of an index merge' \"\n \tgit-svn dcommit\n \t\"\n \n+test_expect_success 'commit another change from svn side' \"\n+\tsvn co $svnrepo t.svn &&\n+\tcd t.svn &&\n+\t\techo third line from svn >> file &&\n+\t\tpoke file &&\n+\t\tsvn commit -m 'third line from svn' &&\n+\tcd .. &&\n+\trm -rf t.svn\n+\t\"\n+\n+test_expect_failure 'multiple dcommit from git-svn will not clobber svn' \"\n+\tgit reset --hard refs/remotes/git-svn &&\n+\techo new file >> new-file &&\n+\tgit update-index --add new-file &&\n+\tgit commit -a -m 'new file' &&\n+\techo clobber > file &&\n+\tgit commit -a -m 'clobber' &&\n+\tgit svn dcommit\n+\t\" || true\n+\n+\n+test_expect_success 'check that rebase really failed' 'test -d .dotest'\n+\n+test_expect_success 'resolve, continue the rebase and dcommit' \"\n+\techo clobber and I really mean it > file &&\n+\tgit update-index file &&\n+\tgit rebase --continue &&\n+\tgit svn dcommit\n+\t\"\n+\n test_done\n-- \nEric Wong\n"},{"id":"52114","messageId":"Pine.LNX.4.64.0709010232260.28586@racer.site","threadId":"9731","inReplyTo":"20070901011612.GA3407@untitled","subject":"Re: [PATCH] git-svn: fix dcommit clobbering upstream when committing multiple changes","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-09-01T01:32:51Z","receivedAt":"2007-09-01T01:32:51Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Fri, 31 Aug 2007, Eric Wong wrote:\n\n> Although dcommit could detect if the first commit in the series\n> would conflict with the HEAD revision in SVN, it could not\n> detect conflicts in further commits it made.\n> \n> Now we rebase each uncommitted change after each revision is\n> committed to SVN to ensure that we are up-to-date.  git-rebase\n> will bail out on conflict errors if our next change cannot be\n> applied and committed to SVN cleanly, preventing accidental\n> clobbering of changes on the SVN-side.\n\nThanks for the quick fix; will play with it on Sunday...\n\nCiao,\nDscho\n"},{"id":"52126","messageId":"20070901054321.GA8021@diana.vm.bytemark.co.uk","threadId":"9731","inReplyTo":"20070901011612.GA3407@untitled","subject":"Re: [PATCH] git-svn: fix dcommit clobbering upstream when committing multiple changes","fromName":"Karl Hasselström","fromEmail":"kha@treskal.com","sentAt":"2007-09-01T05:43:21Z","receivedAt":"2007-09-01T05:43:21Z","isPatch":true,"sender":{"key":"kha@treskal.com","avatar":"https://gravatar.com/avatar/f0120c734b5279b345075a28521e1ac66acb20c9913ffe9bf6ae97e53f7f3f13?d=mp&s=160"},"body":"On 2007-08-31 18:16:12 -0700, Eric Wong wrote:\n\n> Although dcommit could detect if the first commit in the series\n> would conflict with the HEAD revision in SVN, it could not detect\n> conflicts in further commits it made.\n>\n> Now we rebase each uncommitted change after each revision is\n> committed to SVN to ensure that we are up-to-date. git-rebase will\n> bail out on conflict errors if our next change cannot be applied and\n> committed to SVN cleanly, preventing accidental clobbering of\n> changes on the SVN-side.\n>\n> --no-rebase users will have trouble with this, and are thus warned\n> if they are committing more than one commit. Fixing this for\n> (hopefully uncommon) --no-rebase users would be more complex and\n> will probably happen at a later date.\n\nShouldn't it be a simple matter of checking if the total diff over the\nwhole series would conflict with the SVN HEAD?\n\n-- \nKarl Hasselström, kha@treskal.com\n      www.treskal.com/kalle\n"},{"id":"52134","messageId":"20070901093303.GA9867@soma","threadId":"9731","inReplyTo":"20070901054321.GA8021@diana.vm.bytemark.co.uk","subject":"Re: [PATCH] git-svn: fix dcommit clobbering upstream when committing multiple changes","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2007-09-01T09:33:03Z","receivedAt":"2007-09-01T09:33:03Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Karl Hasselström <kha@treskal.com> wrote:\n> On 2007-08-31 18:16:12 -0700, Eric Wong wrote:\n> \n> > Although dcommit could detect if the first commit in the series\n> > would conflict with the HEAD revision in SVN, it could not detect\n> > conflicts in further commits it made.\n> >\n> > Now we rebase each uncommitted change after each revision is\n> > committed to SVN to ensure that we are up-to-date. git-rebase will\n> > bail out on conflict errors if our next change cannot be applied and\n> > committed to SVN cleanly, preventing accidental clobbering of\n> > changes on the SVN-side.\n> >\n> > --no-rebase users will have trouble with this, and are thus warned\n> > if they are committing more than one commit. Fixing this for\n> > (hopefully uncommon) --no-rebase users would be more complex and\n> > will probably happen at a later date.\n> \n> Shouldn't it be a simple matter of checking if the total diff over the\n> whole series would conflict with the SVN HEAD?\n\nI don't think you can actually check for SVN conflicts until attempting\nto do commit.\n\n-- \nEric Wong\n"},{"id":"52138","messageId":"20070901102453.GA10030@diana.vm.bytemark.co.uk","threadId":"9731","inReplyTo":"20070901093303.GA9867@soma","subject":"Re: [PATCH] git-svn: fix dcommit clobbering upstream when committing multiple changes","fromName":"Karl Hasselström","fromEmail":"kha@treskal.com","sentAt":"2007-09-01T10:24:53Z","receivedAt":"2007-09-01T10:24:53Z","isPatch":true,"sender":{"key":"kha@treskal.com","avatar":"https://gravatar.com/avatar/f0120c734b5279b345075a28521e1ac66acb20c9913ffe9bf6ae97e53f7f3f13?d=mp&s=160"},"body":"On 2007-09-01 02:33:03 -0700, Eric Wong wrote:\n\n> Karl Hasselström <kha@treskal.com> wrote:\n>\n> > Shouldn't it be a simple matter of checking if the total diff over\n> > the whole series would conflict with the SVN HEAD?\n>\n> I don't think you can actually check for SVN conflicts until\n> attempting to do commit.\n\nAh, that's true. I was only considering the git side ...\n\n-- \nKarl Hasselström, kha@treskal.com\n      www.treskal.com/kalle\n"}]}