Re: Git internal format and compatibilty
On Sat, 12 Apr 2008, Joey Hess wrote:
> Raphael Hertzog wrote:
> > The version of the software called "git" (we have nothing better to
> > identify the internal format AFAIK).
> > If the internal format changes, I expect that git will upgrade it in place
> > or something similar. However a source package published in a given
> > release is a git repository that nobody use and will thus never be
> > upgraded to a newer format. And after some time, we'll have lost the
> > ability to extract older source packages.
> In several ways, that doesn't make much sense. There's also some
> inaverdant FUD going on here. Here is the actual situation, as I
> understand it.
There's certainly some holes in my Git knowledge and as such the fears
that I expressed might not be all justified. But given the relatively
small age of technologies like Git compared to tar/diff/patch, it seems
prudent to approach them with care.
> By contrast to old formats like tar, the git pack (and idx) formats _do_
> contain a version number. Three versions exist: Version 1 was never
> broadly used. ("Throw one away".) Version 3 is not generated by current
> versions of git. Git might start generating it at some point in the future,
> but has already supported reading it since 2006 -- a positively
> Debianish update schedule. Version 2 is what everyone uses now.
Is there a way to extract that version number with a git command line?
> I'm confident that the current git object format will be supported as
> long as git exists. Changing that format and doing the "upgrade in
> place" you suggest git might do would change every sha1 in the git
> repository, breaking all references to the sha1s, including all signed
> tags, and all cloned repositories. New object file formats might be
> developed, but existing ones will always have to be supported going
Well, I don't expect any change on the basic principle of identifying an
object with its SHA1 checksum. I'd rather expect change in the way pack files
Le best-seller français mis à jour pour Debian Etch :