aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2012-10-02 15:08:16 -0700
committerJunio C Hamano <gitster@pobox.com>2012-10-02 15:08:16 -0700
commit9dad83be45003940968656cf7ea037851b0e7bfe (patch)
treecf86876d02bac0ab3e00186cc3919ff093db9089
parentc6a13b2c86b71cb25011094ff2dee3d7769991a2 (diff)
downloadgit-9dad83be45003940968656cf7ea037851b0e7bfe.tar.gz
git-9dad83be45003940968656cf7ea037851b0e7bfe.tar.xz
t1450: the order the objects are checked is undefined
When a tag T points at an object X that is of a type that is different from what the tag records as, fsck should report it as an error. However, depending on the order X and T are checked individually, the actual error message can be different. If X is checked first, fsck remembers X's type and then when it checks T, it notices that T records X as a wrong type (i.e. the complaint is about a broken tag T). If T is checked first, on the other hand, fsck remembers that we need to verify X is of the type tag records, and when it later checks X, it notices that X is of a wrong type (i.e. the complaint is about a broken object X). The important thing is that fsck notices such an error and diagnoses the issue on object X, but the test was expecting that we happen to check objects in the order to make us detect issues with tag T, not with object X. Remove this unwarranted assumption. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t1450-fsck.sh4
1 files changed, 1 insertions, 3 deletions
diff --git a/t/t1450-fsck.sh b/t/t1450-fsck.sh
index 5b79c51b8..9c64eefbb 100755
--- a/t/t1450-fsck.sh
+++ b/t/t1450-fsck.sh
@@ -177,9 +177,7 @@ test_expect_success 'tag pointing to something else than its type' '
test_when_finished "remove_object $tag" &&
echo $tag >.git/refs/tags/wrong &&
test_when_finished "git update-ref -d refs/tags/wrong" &&
- test_must_fail git fsck --tags 2>out &&
- cat out &&
- grep "error in tag.*broken links" out
+ test_must_fail git fsck --tags
'
test_expect_success 'cleaned up' '