Code

Fix path duplication in git svn commit-diff
authorKarl Hasselström <kha@treskal.com>
Sat, 17 May 2008 15:07:09 +0000 (17:07 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sun, 1 Jun 2008 21:29:50 +0000 (14:29 -0700)
Given an SVN repo file:///tmp/svntest/repo, trying to commit changes
to a file proj/trunk/foo.txt in that repo with this command line

  git svn commit-diff -r2 HEAD^ HEAD file:///tmp/svntest/repo/proj/trunk

gave the error message

  Filesystem has no item: File not found: transaction '2-6', path
  '/proj/trunk/proj/trunk/foo.txt'

This fixes the duplication.

Signed-off-by: Karl Hasselström <kha@treskal.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-svn.perl

index 3a6eb1cb9da752a3a6fa35d781cade9c886e03b9..ff8335879961bdb65be9dd4cce89d6aada3aeaf0 100755 (executable)
@@ -745,7 +745,7 @@ sub cmd_commit_diff {
        my $usage = "Usage: $0 commit-diff -r<revision> ".
                    "<tree-ish> <tree-ish> [<URL>]";
        fatal($usage) if (!defined $ta || !defined $tb);
-       my $svn_path;
+       my $svn_path = '';
        if (!defined $url) {
                my $gs = eval { Git::SVN->new };
                if (!$gs) {
@@ -769,7 +769,6 @@ sub cmd_commit_diff {
                $_message ||= get_commit_entry($tb)->{log};
        }
        my $ra ||= Git::SVN::Ra->new($url);
-       $svn_path ||= $ra->{svn_path};
        my $r = $_revision;
        if ($r eq 'HEAD') {
                $r = $ra->get_latest_revnum;