summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-09-19 01:47:55 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-09-19 01:47:55 (GMT)
commitdaafb5062ca7f0e02754ddaa5a5334b07fe9bba1 (patch)
tree220951b43777bcd2f14d7db61014a22abdb088f2
parentc39da2c08ecc7f3186d83c4fc733401ee98df67f (diff)
parent1d0538e4860f3827bb711a4a05dbc2f194f767be (diff)
downloadgit-daafb5062ca7f0e02754ddaa5a5334b07fe9bba1.zip
git-daafb5062ca7f0e02754ddaa5a5334b07fe9bba1.tar.gz
git-daafb5062ca7f0e02754ddaa5a5334b07fe9bba1.tar.bz2
Merge branch 'mh/packed-ref-store-prep'
Fix regression to "gitk --bisect" by a recent update. * mh/packed-ref-store-prep: rev-parse: don't trim bisect refnames
-rw-r--r--builtin/rev-parse.c4
-rwxr-xr-xt/t6002-rev-list-bisect.sh18
2 files changed, 18 insertions, 4 deletions
diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c
index 2bd28d3..9f24004 100644
--- a/builtin/rev-parse.c
+++ b/builtin/rev-parse.c
@@ -757,8 +757,8 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix)
continue;
}
if (!strcmp(arg, "--bisect")) {
- for_each_ref_in("refs/bisect/bad", show_reference, NULL);
- for_each_ref_in("refs/bisect/good", anti_reference, NULL);
+ for_each_fullref_in("refs/bisect/bad", show_reference, NULL, 0);
+ for_each_fullref_in("refs/bisect/good", anti_reference, NULL, 0);
continue;
}
if (opt_with_value(arg, "--branches", &arg)) {
diff --git a/t/t6002-rev-list-bisect.sh b/t/t6002-rev-list-bisect.sh
index 534903b..a661408 100755
--- a/t/t6002-rev-list-bisect.sh
+++ b/t/t6002-rev-list-bisect.sh
@@ -236,17 +236,31 @@ test_sequence "--bisect"
#
#
-test_expect_success '--bisect can default to good/bad refs' '
+test_expect_success 'set up fake --bisect refs' '
git update-ref refs/bisect/bad c3 &&
good=$(git rev-parse b1) &&
git update-ref refs/bisect/good-$good $good &&
good=$(git rev-parse c1) &&
- git update-ref refs/bisect/good-$good $good &&
+ git update-ref refs/bisect/good-$good $good
+'
+test_expect_success 'rev-list --bisect can default to good/bad refs' '
# the only thing between c3 and c1 is c2
git rev-parse c2 >expect &&
git rev-list --bisect >actual &&
test_cmp expect actual
'
+test_expect_success 'rev-parse --bisect can default to good/bad refs' '
+ git rev-parse c3 ^b1 ^c1 >expect &&
+ git rev-parse --bisect >actual &&
+
+ # output order depends on the refnames, which in turn depends on
+ # the exact sha1s. We just want to make sure we have the same set
+ # of lines in any order.
+ sort <expect >expect.sorted &&
+ sort <actual >actual.sorted &&
+ test_cmp expect.sorted actual.sorted
+'
+
test_done