git-svn: fix --file/-F option in commit-diff
authorEric Wong <normalperson@yhbt.net>
Mon, 10 Jul 2006 03:20:48 +0000 (20:20 -0700)
committerJunio C Hamano <junkio@cox.net>
Mon, 10 Jul 2006 07:19:34 +0000 (00:19 -0700)
Also, allow messages from tags to be used as
commit messages.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-svn.perl
index 145eaa865a3bc44da2f3bc028c462cefd924f9c6..f04e26993956a2264a9bf5d67c0cbd9c46c1bee6 100755 (executable)
@@ -760,7 +760,7 @@ sub commit_diff {
                exit 1;
        }
        if (defined $_file) {
-               $_message = file_to_s($_message);
+               $_message = file_to_s($_file);
        } else {
                $_message ||= get_commit_message($tb,
                                        "$GIT_DIR/.svn-commit.tmp.$$")->{msg};
@@ -1518,12 +1518,12 @@ sub get_commit_message {
        open my $msg, '>', $commit_msg or croak $!;
 
        chomp(my $type = `git-cat-file -t $commit`);
-       if ($type eq 'commit') {
+       if ($type eq 'commit' || $type eq 'tag') {
                my $pid = open my $msg_fh, '-|';
                defined $pid or croak $!;
 
                if ($pid == 0) {
-                       exec(qw(git-cat-file commit), $commit) or croak $!;
+                       exec('git-cat-file', $type, $commit) or croak $!;
                }
                my $in_msg = 0;
                while (<$msg_fh>) {