Old "sparse" archive converted..
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- Apr 24, 2005, 01:25 UTC
- Message-ID
- <Pine.LNX.4.58.0504231815350.2344@ppc970.osdl.org>
Ok, I expanded on "convert-cache" quite a bit, to the point where it could actually re-write "commit" and "tree" objects entirely, at which point it now became possible to convert the broken old sparse archive that had the wrong date format in its commit objects, and had the old flat-file format for the "tree" objects.
I updated the tree at
kernel.org:/pub/linux/kernel/people/torvalds/sparse.git
to be this modern-format tree that fsck-cache no longer complains about.
If anybody is keeping an old-format tree around, I'll just warn you that I'm not going to necessarily guarantee that git will be able to read it in the future, so you should replace it with the modern one (which should just be a matter of either deleting the old one and getting a new copy, or you could do a
convert-cache $(cat .git/HEAD) echo ..result.. > .git/HEAD git-prune-script read-tree $(cat .git/HEAD) update-cache --refresh fsck-cache --unreachable $(cat .git/HEAD)
which _should_ get you a clean tree with a top commit with the name f765413f020fd2c97c22716320dc96b33cda7c43 if everything went right.
I'm considering turning on SHA1 validation by default when reading objects, just because it's the right thing to do from a "find any fs corruption early" angle, and it should be fairly cheap. That will make old pre-conversion trees no longer work.
Linus