On Mon, Jun 01, 2015 at 10:40:53AM +0200, Stefan Näwe wrote:
> Turns out to be a tree:
>
> tree 7713c3b1e9ea2dd9126244697389e4000bb39d85
> parent d7acfc22fbc0fba467d82f41c90aab7d61f8d751
> author Stefan Naewe <[email protected]> 1429536806 +0200
> committer Stefan Naewe <[email protected]> 1429536806 +0200
Yeah, I bungled the grep earlier. That message can come from a missing
tag, tree, or commit object. But I think the root cause is the same.
> Not exactly. My msysgit is merge-rebase'd (or rebase-merge'd...) onto
> v2.2.0...
> I'll try older versions (pre v2.2.0) on linux.
OK, that makes more sense then.
> I also cloned from local filesystem (widnows drive) to a samba share.
And that, too.
I've managed to create a small test case that replicates the problem:
diff --git a/t/t6501-freshen-objects.sh b/t/t6501-freshen-objects.sh
index 157f3f9..015b0da 100755
--- a/t/t6501-freshen-objects.sh
+++ b/t/t6501-freshen-objects.sh
@@ -129,4 +129,19 @@ for repack in '' true; do
'
done
+test_expect_failure 'do not complain about existing broken links' '
+ cat >broken-commit <<-\EOF &&
+ tree 0000000000000000000000000000000000000001
+ parent 0000000000000000000000000000000000000002
+ author whatever <[email protected]> 1234 -0000
+ committer whatever <[email protected]> 1234 -0000
+
+ some message
+ EOF
+ commit=$(git hash-object -t commit -w broken-commit) &&
+ git gc 2>stderr &&
+ verbose git cat-file -e $commit &&
+ test_must_be_empty stderr
+'
+
test_done
which produces:
'stderr' is not empty, it contains:
error: Could not read 0000000000000000000000000000000000000002
error: Could not read 0000000000000000000000000000000000000001
error: Could not read 0000000000000000000000000000000000000002
error: Could not read 0000000000000000000000000000000000000001
Unfortunately the fix is a little bit invasive. I'll send something out
in a few minutes.
-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html