diff options
author | Michael J Gruber <git@drmicha.warpmail.net> | 2011-05-20 13:16:34 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-05-20 09:30:09 -0700 |
commit | 9963e025e88f134cf07ef348d80a5821c69a7eb0 (patch) | |
tree | d3f9d846ebc3da5063246835fd4e237dd349334c | |
parent | 3d5ae435275e60be3ebd7302c1d2cf8ed6f0b8ad (diff) | |
download | git-9963e025e88f134cf07ef348d80a5821c69a7eb0.tar.gz |
git-svn: Fix git svn log --show-commit
git svn log --show-commit had no tests and, consequently, no attention
by the author of
b1b4755 (git-log: put space after commit mark, 2011-03-10)
who kept git svn log working only without --show-commit.
Introduce a test and fix it.
Reported-by: Bernt Hansen <bernt@norang.ca>
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | git-svn.perl | 2 | ||||
-rwxr-xr-x | t/t9116-git-svn-log.sh | 15 |
2 files changed, 16 insertions, 1 deletions
diff --git a/git-svn.perl b/git-svn.perl index bf0451b468..da3fea8bd2 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -5752,7 +5752,7 @@ sub cmd_show_log { my (@k, $c, $d, $stat); my $esc_color = qr/(?:\033\[(?:(?:\d+;)*\d*)?m)*/; while (<$log>) { - if (/^${esc_color}commit (- )?($::sha1_short)/o) { + if (/^${esc_color}commit (?:- )?($::sha1_short)/o) { my $cmt = $1; if ($c && cmt_showable($c) && $c->{r} != $r_last) { $r_last = $c->{r}; diff --git a/t/t9116-git-svn-log.sh b/t/t9116-git-svn-log.sh index 5d477e4bda..cf4c05261b 100755 --- a/t/t9116-git-svn-log.sh +++ b/t/t9116-git-svn-log.sh @@ -60,6 +60,21 @@ test_expect_success 'test ascending revision range' " git svn log -r 1:4 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r1-r2-r4 - " +test_expect_success 'test ascending revision range with --show-commit' " + git reset --hard trunk && + git svn log --show-commit -r 1:4 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r1-r2-r4 - + " + +test_expect_success 'test ascending revision range with --show-commit (sha1)' " + git svn find-rev r1 >expected-range-r1-r2-r4-sha1 && + git svn find-rev r2 >>expected-range-r1-r2-r4-sha1 && + git svn find-rev r4 >>expected-range-r1-r2-r4-sha1 && + git reset --hard trunk && + git svn log --show-commit -r 1:4 | grep '^r[0-9]' | cut -d'|' -f2 >out && + git rev-parse \$(cat out) >actual && + test_cmp expected-range-r1-r2-r4-sha1 actual + " + printf 'r4 \nr2 \nr1 \n' > expected-range-r4-r2-r1 test_expect_success 'test descending revision range' " |