git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Next: Jeff Garzik
Message 1 of 3 in “Old "sparse" archive converted..”
  1. Linus TorvaldsApr 24, 2005
  2. Jeff GarzikApr 24, 2005
  3. Linus TorvaldsApr 24, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.