Subject: Re: [PATCH] Fix `git svn rebase` if top-level HEAD directory exist

From: ojab <[email-masked]>
Date: Wed, 05 Jun 2013 09:32:50 +0400

On 04.06.2013 11:49, Jeff King wrote:

> This rationale should probably go in the commit message.

Done

>
> We prefer patches to be inline in the email; these lines can be
> dropped, as they are picked up from your email headers.

AFAIK Thunderbird brakes spaces, so better safe, than sorry :)

> Do you mind providing a real name? The point of Signed-off-by is for
> licensing and attribution.

Done (but i doubt that such a patch can be copyrighted).

> Looks obviously correct to me. I did a quick grep, and there is one
> other spot that probably should get the same treatment:

Yep, already found it.

//wbr ojab

From 0251b7f2032e2050d2b6d2cbc0960471c996b058 Mon Sep 17 00:00:00 2001
From: ojab <[email-masked]>
Date: Tue, 4 Jun 2013 11:28:16 +0400
Subject: [PATCH] Fix `git svn` `rebase` & `dcommit` if top-level HEAD
 directory exist

$ git svn rebase
fatal: ambiguous argument 'HEAD': both revision and filename
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
rev-list --first-parent --pretty=medium HEAD: command returned error: 128

Signed-off-by: Slava Kardakov <[email-masked]>

---
 git-svn.perl | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/git-svn.perl b/git-svn.perl
index d070de0..36083c1 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -831,7 +831,7 @@ sub dcommit_rebase {
 sub cmd_dcommit {
 	my $head = shift;
 	command_noisy(qw/update-index --refresh/);
-	git_cmd_try { command_oneline(qw/diff-index --quiet HEAD/) }
+	git_cmd_try { command_oneline(qw/diff-index --quiet HEAD --/) }
 		'Cannot dcommit with a dirty index.  Commit your changes first, '
 		. "or stash them with `git stash'.\n";
 	$head ||= 'HEAD';
@@ -1932,7 +1932,7 @@ sub cmt_sha2rev_batch {
 sub working_head_info {
 	my ($head, $refs) = @_;
 	my @args = qw/rev-list --first-parent --pretty=medium/;
-	my ($fh, $ctx) = command_output_pipe(@args, $head);
+	my ($fh, $ctx) = command_output_pipe(@args, $head, "--");
 	my $hash;
 	my %max;
 	while (<$fh>) {
-- 
1.8.2