Document pack .idx file format upgrade strategy.
authorShawn O. Pearce <spearce@spearce.org>
Thu, 18 Jan 2007 01:43:57 +0000 (20:43 -0500)
committerJunio C Hamano <junkio@cox.net>
Thu, 18 Jan 2007 04:51:45 +0000 (20:51 -0800)
commitdf1b059d8dd5c16edaa98d7da842b2a32c01e526
tree93f971286c5cf0a1c1b197e08dbf071b05f8644c
parent41a5564e054043945e365c580abab724e12744ff
Document pack .idx file format upgrade strategy.

Way back when Junio developed the 64 bit index topic he came up
with a means of changing the .idx file format so that older Git
clients would recognize that they don't understand the file and
refuse to read it, while newer clients could tell the difference
between the old-style and new-style .idx files.  Unfortunately
this wasn't recorded anywhere.

This change documents how we might go about changing the .idx
file format by using a special signature in the first four bytes.
Credit (and possible blame) goes completely to Junio for thinking
up this technique.

The change also modifies the error message of the current Git code
so that users get a recommendation to upgrade their Git software
should this version or later encounter a new-style .idx which it
cannot process.  We already do this for the .pack files, but since
we usually process the .idx files first its important that these
files are recognized and encourage an upgrade.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
pack.h
sha1_file.c