diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-05-11 14:01:19 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-05-11 14:43:56 -0700 |
commit | 4da5af3151301d25a25d60a90b8275eaca13de86 (patch) | |
tree | a7973fe80bb83266276853456cc84b0a08667578 /t | |
parent | Git 1.6.6 (diff) | |
download | tgif-4da5af3151301d25a25d60a90b8275eaca13de86.tar.xz |
setup_revisions(): take pathspec from command line and --stdin correctly
When the command line has "--" disambiguator, we take the remainder of
argv[] as "prune_data", but when --stdin is given at the same time,
we need to append to the existing prune_data and end up attempting to
realloc(3) it. That would not work.
Fix it by consistently using append_prune_data() throughout the input
processing. Also avoid counting the number of existing paths in the
function over and over again.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t6017-rev-list-stdin.sh | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/t/t6017-rev-list-stdin.sh b/t/t6017-rev-list-stdin.sh index f1c32dba42..667b37564e 100755 --- a/t/t6017-rev-list-stdin.sh +++ b/t/t6017-rev-list-stdin.sh @@ -58,4 +58,21 @@ check side-3 ^side-4 -- file-3 check side-3 ^side-2 check side-3 ^side-2 -- file-1 +test_expect_success 'not only --stdin' ' + cat >expect <<-EOF && + 7 + + file-1 + file-2 + EOF + cat >input <<-EOF && + ^master^ + -- + file-2 + EOF + git log --pretty=tformat:%s --name-only --stdin master -- file-1 \ + <input >actual && + test_cmp expect actual +' + test_done |