Skip to content

Commit 15f5a1f

Browse files
committed
Don't require a newrev anymore, instead behave like git diff
Test Plan: `git diff-blame` works without arguments, and shows something similar to `git diff`.
1 parent 9578ee6 commit 15f5a1f

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

git-diff-blame

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,12 @@ sub get_blame_prefix {
1616
}
1717

1818
my ($oldrev, $newrev) = @ARGV;
19-
open($diff, '-|', 'git', '--no-pager', 'diff', $oldrev, $newrev) or die;
19+
$oldrev ||= 'HEAD';
20+
if ($newrev) {
21+
open($diff, '-|', 'git', '--no-pager', 'diff', $oldrev, $newrev) or die;
22+
} else {
23+
open($diff, '-|', 'git', '--no-pager', 'diff', $oldrev) or die;
24+
}
2025

2126
my ($pre, $post);
2227
my $filename;
@@ -51,9 +56,15 @@ while (<$diff>) {
5156
$oldrev, '--', $prefilename) or die;
5257
}
5358
if (!$delete) {
54-
open($post, '-|', 'git', 'blame', '-M', "-L$n_ofs,$n_end",
55-
"-l",
56-
$newrev, '--', $postfilename) or die;
59+
if ($newrev) {
60+
open($post, '-|', 'git', 'blame', '-M', "-L$n_ofs,$n_end",
61+
"-l",
62+
$newrev, '--', $postfilename) or die;
63+
} else {
64+
open($post, '-|', 'git', 'blame', '-M', "-L$n_ofs,$n_end",
65+
"-l",
66+
'--', $postfilename) or die;
67+
}
5768
}
5869
} elsif (m{^ }) {
5970
print get_blame_prefix(scalar <$pre>), "\t", $_;

0 commit comments

Comments
 (0)