User: Password:
Subscribe / Log in / New account

Old "sparse" archive converted..

From:  Linus Torvalds <>
To:  sparse mailing list <>, Git Mailing List <>
Subject:  Old "sparse" archive converted..
Date:  Sat, 23 Apr 2005 18:25:05 -0700 (PDT)

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

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
	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.

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Copyright © 2005, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds