[PATCH v3] t7700: demonstrate mishandling of objects in packs with a .keep file

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Brandon Casey
Date: Monday, November 3, 2008 - 3:14 pm

From: Brandon Casey <drafnel@gmail.com>

Objects residing in pack files that have an associated .keep file are not
supposed to be repacked into new pack files, but they are.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
---


Whoops, white space contaminated in two spots, this one fixes it.

-brandon


 t/t7700-repack.sh |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)
 create mode 100755 t/t7700-repack.sh

diff --git a/t/t7700-repack.sh b/t/t7700-repack.sh
new file mode 100755
index 0000000..7aaff0b
--- /dev/null
+++ b/t/t7700-repack.sh
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+test_description='git repack works correctly'
+
+. ./test-lib.sh
+
+test_expect_failure 'objects in packs marked .keep are not repacked' '
+	echo content1 > file1 &&
+	echo content2 > file2 &&
+	git add . &&
+	git commit -m initial_commit &&
+	# Create two packs
+	# The first pack will contain all of the objects except one
+	git rev-list --objects --all | grep -v file2 |
+		git pack-objects pack > /dev/null &&
+	# The second pack will contain the excluded object
+	packsha1=$(git rev-list --objects --all | grep file2 |
+		git pack-objects pack) &&
+	touch -r pack-$packsha1.pack pack-$packsha1.keep &&
+	objsha1=$(git verify-pack -v pack-$packsha1.idx | head -n 1 |
+		sed -e "s/^\([0-9a-f]\{40\}\).*/\1/") &&
+	mv pack-* .git/objects/pack/ &&
+	git repack -A -d -l &&
+	git prune-packed &&
+	for p in .git/objects/pack/*.idx; do
+		idx=$(basename $p)
+		test "pack-$packsha1.idx" = "$idx" && continue
+		if git verify-pack -v $p | egrep "^$objsha1"; then
+			found_duplicate_object=1
+			echo "DUPLICATE OBJECT FOUND"
+			break
+		fi
+	done &&
+	test -z "$found_duplicate_object"
+'
+
+test_done
+
-- 
1.6.0.3.552.g12334

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
getting list of objects for packing, Brandon Casey, (Fri Oct 31, 12:32 pm)
Re: getting list of objects for packing, Nicolas Pitre, (Fri Oct 31, 1:40 pm)
Re: getting list of objects for packing, Brandon Casey, (Fri Oct 31, 1:48 pm)
Re: getting list of objects for packing, Junio C Hamano, (Fri Oct 31, 2:30 pm)
Re: getting list of objects for packing, Brandon Casey, (Fri Oct 31, 2:40 pm)
Re: getting list of objects for packing, Jakub Narebski, (Fri Oct 31, 3:23 pm)
Re: getting list of objects for packing, Brandon Casey, (Fri Oct 31, 5:00 pm)
[PATCH v2 3/3] pack-objects: honor '.keep' files, Brandon Casey, (Mon Nov 3, 1:43 pm)
Re: [PATCH v2 3/3] pack-objects: honor '.keep' files, Shawn O. Pearce, (Mon Nov 3, 1:49 pm)
[PATCH v3] t7700: demonstrate mishandling of objects in pa ..., Brandon Casey, (Mon Nov 3, 3:14 pm)
Re: [PATCH v2 3/3] pack-objects: honor '.keep' files, Brandon Casey, (Wed Nov 5, 3:37 pm)
Re: [PATCH v2 3/3] pack-objects: honor '.keep' files, Brandon Casey, (Thu Nov 6, 4:22 pm)
Re: [PATCH v2 3/3] pack-objects: honor '.keep' files, Junio C Hamano, (Thu Nov 6, 5:30 pm)
Re: [PATCH v2 3/3] pack-objects: honor '.keep' files, Brandon Casey, (Thu Nov 6, 6:17 pm)
[PATCH 1/4] pack-objects: new option --honor-pack-keep, Brandon Casey, (Thu Nov 6, 6:52 pm)
Re: [PATCH v2 3/3] pack-objects: honor '.keep' files, Andreas Ericsson, (Fri Nov 7, 1:12 am)
Re: [PATCH 1/4] pack-objects: new option --honor-pack-keep, Andreas Ericsson, (Fri Nov 7, 1:13 am)
Re: [PATCH v2 3/3] pack-objects: honor '.keep' files, Shawn O. Pearce, (Fri Nov 7, 12:25 pm)
recognize loose local objects during repack, drafnel, (Sun Nov 9, 10:59 pm)
repack and .keep series, Brandon Casey, (Wed Nov 12, 10:59 am)
[PATCH 3/6] pack-objects: new option --honor-pack-keep, Brandon Casey, (Wed Nov 12, 10:59 am)