]> git.ipfire.org Git - thirdparty/git.git/commit - builtin/index-pack.c
fix index-pack with packs >4GB containing deltas on 32-bit machines
authorNicolas Pitre <nico@cam.org>
Sun, 11 Nov 2007 04:29:10 +0000 (23:29 -0500)
committerJunio C Hamano <gitster@pobox.com>
Sun, 11 Nov 2007 10:57:13 +0000 (02:57 -0800)
commita91ef6e75b897a255cc17b70014a39e68dd54c7a
treebf52ced5c9bcd3ceb895481d3cd3262331a218d0
parentff350ccf49a800c4c90f817d346fb1bcb96e02e7
fix index-pack with packs >4GB containing deltas on 32-bit machines

This probably hasn't been properly tested before.  Here's a script to
create a 8GB repo with the necessary characteristics (copy the
test-genrandom executable from the Git build tree to /tmp first):

-----
#!/bin/bash

git init
git config core.compression 0

# create big objects with no deltas
for i in $(seq -w 1 2 63)
do
echo $i
/tmp/test-genrandom $i 268435456 > file_$i
git add file_$i
rm file_$i
echo "file_$i -delta" >> .gitattributes
done

# create "deltifiable" objects in between big objects
for i in $(seq -w 2 2 64)
do
echo "$i $i $i" >> grow
cp grow file_$i
git add file_$i
rm file_$i
done
rm grow

# create a pack with them
git commit -q -m "commit of big objects interlaced with small deltas"
git repack -a -d
-----

Then clone this repo over the Git protocol.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
index-pack.c