From c0a5e2d477baa9d3ebf7d3303a7d2b5dbc7c2ffe Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Wed, 25 Jun 2008 00:25:53 -0400 Subject: [PATCH] pack.indexversion config option now defaults to 2 As announced for 1.6.0. Git older than version 1.5.2 (or any other git version with this option set to 1) may revert to version 1 of the pack index by manually deleting all .idx files and recreating them using 'git index-pack'. Communication over the git native protocol is unaffected since the pack index is never transferred. Signed-off-by: Nicolas Pitre Signed-off-by: Junio C Hamano --- Documentation/asciidoc.conf | 1 + Documentation/config.txt | 14 +++++++++++--- pack-write.c | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Documentation/asciidoc.conf b/Documentation/asciidoc.conf index 10c1a151a4..40d43b78ee 100644 --- a/Documentation/asciidoc.conf +++ b/Documentation/asciidoc.conf @@ -8,6 +8,7 @@ # the command. [attributes] +asterisk=* plus=+ caret=^ startsb=[ diff --git a/Documentation/config.txt b/Documentation/config.txt index e37b9d6bb4..e523997e7e 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -937,9 +937,17 @@ pack.indexVersion:: legacy pack index used by Git versions prior to 1.5.2, and 2 for the new pack index with capabilities for packs larger than 4 GB as well as proper protection against the repacking of corrupted - packs. Version 2 is selected and this config option ignored - whenever the corresponding pack is larger than 2 GB. Otherwise - the default is 1. + packs. Version 2 is the default. Note that version 2 is enforced + and this config option ignored whenever the corresponding pack is + larger than 2 GB. ++ +If you have an old git that does not understand the version 2 `{asterisk}.idx` file, +cloning or fetching over a non native protocol (e.g. "http" and "rsync") +that will copy both `{asterisk}.pack` file and corresponding `{asterisk}.idx` file from the +other side may give you a repository that cannot be accessed with your +older version of git. If the `{asterisk}.pack` file is smaller than 2 GB, however, +you can use linkgit:git-index-pack[1] on the *.pack file to regenerate +the `{asterisk}.idx` file. pack.packSizeLimit:: The default maximum size of a pack. This setting only affects diff --git a/pack-write.c b/pack-write.c index f52cabe838..a8f0269936 100644 --- a/pack-write.c +++ b/pack-write.c @@ -2,7 +2,7 @@ #include "pack.h" #include "csum-file.h" -uint32_t pack_idx_default_version = 1; +uint32_t pack_idx_default_version = 2; uint32_t pack_idx_off32_limit = 0x7fffffff; static int sha1_compare(const void *_a, const void *_b)