From: drafnel@gmail.com
To: git@vger.kernel.org
Cc: gitster@pobox.com, nico@cam.org, Brandon Casey <drafnel@gmail.com>
Subject: [PATCH] t7700: demonstrate mishandling of objects in packs with a .keep file
Date: Sat, 1 Nov 2008 22:35:19 -0500 [thread overview]
Message-ID: <14536526.1225596838300.JavaMail.teamon@b301.teamon.com> (raw)
In-Reply-To: <1S3xpaVP1Cy1Rei_ODwlXsBdu64BGiPve-lj_4fN6cA@cipher.nrlssc.navy.mil>
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 <drafnel@gmail.com>
---
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..1489e68
--- /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 | head -n -1 |
+ git pack-objects pack > /dev/null &&
+ # The second pack will contain the excluded object
+ packsha1=$(git rev-list --objects --all | tail -n 1 |
+ 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.2.588.g3102
next prev parent reply other threads:[~2008-11-02 3:45 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-31 19:32 getting list of objects for packing Brandon Casey
2008-10-31 20:40 ` Nicolas Pitre
2008-10-31 20:48 ` Brandon Casey
2008-10-31 21:30 ` Junio C Hamano
2008-10-31 21:40 ` Brandon Casey
2008-10-31 22:23 ` Jakub Narebski
2008-11-01 0:00 ` Brandon Casey
2008-11-02 3:35 ` drafnel [this message]
2008-11-02 16:31 ` [PATCH 1/3] packed_git: convert pack_local flag into generic bit mask drafnel
2008-11-03 16:12 ` Shawn O. Pearce
2008-11-03 18:24 ` Brandon Casey
2008-11-03 20:37 ` [PATCH v2 1/3] t7700: demonstrate mishandling of objects in packs with a .keep file Brandon Casey
2008-11-03 20:41 ` [PATCH v2 2/3] packed_git: convert pack_local flag into a bitfield and add pack_keep Brandon Casey
2008-11-03 20:43 ` [PATCH v2 3/3] pack-objects: honor '.keep' files Brandon Casey
2008-11-03 20:49 ` Shawn O. Pearce
2008-11-05 22:37 ` Brandon Casey
2008-11-06 23:22 ` Brandon Casey
2008-11-07 0:30 ` Junio C Hamano
2008-11-07 1:17 ` Brandon Casey
2008-11-07 8:12 ` Andreas Ericsson
2008-11-07 19:25 ` Shawn O. Pearce
2008-11-10 5:59 ` recognize loose local objects during repack drafnel
2008-11-10 21:03 ` Junio C Hamano
[not found] ` <1226296798-31522-1-git-send-email-foo@foo.com>
2008-11-10 5:59 ` [PATCH 1/3] t7700: demonstrate mishandling of loose objects in an alternate ODB drafnel
[not found] ` <1226296798-31522-2-git-send-email-foo@foo.com>
2008-11-10 5:59 ` [PATCH 2/3] sha1_file.c: split has_loose_object() into local and non-local counterparts drafnel
[not found] ` <1226296798-31522-3-git-send-email-foo@foo.com>
2008-11-10 5:59 ` [PATCH 3/3] pack-objects: extend --local to mean ignore non-local loose objects too drafnel
2008-11-07 1:52 ` [PATCH 1/4] pack-objects: new option --honor-pack-keep Brandon Casey
2008-11-07 1:54 ` [PATCH 2/4] repack: don't repack local objects in packs with .keep file Brandon Casey
2008-11-07 1:55 ` [PATCH 3/4] repack: do not fall back to incremental repacking with [-a|-A] Brandon Casey
2008-11-07 1:56 ` [PATCH 4/4] builtin-gc.c: use new pack_keep bitfield to detect .keep file existence Brandon Casey
2008-11-07 8:14 ` [PATCH 2/4] repack: don't repack local objects in packs with .keep file Andreas Ericsson
2008-11-07 8:13 ` [PATCH 1/4] pack-objects: new option --honor-pack-keep Andreas Ericsson
2008-11-03 22:14 ` [PATCH v3] t7700: demonstrate mishandling of objects in packs with a .keep file Brandon Casey
2008-11-04 19:17 ` [PATCH v2 1/3] " Andreas Ericsson
2008-11-04 19:49 ` Brandon Casey
2008-11-04 19:55 ` Junio C Hamano
2008-11-04 20:01 ` Brandon Casey
2008-11-04 20:21 ` Andreas Ericsson
2008-11-04 23:55 ` Junio C Hamano
2008-11-12 8:09 ` Jeff King
2008-11-12 17:10 ` Junio C Hamano
2008-11-12 19:17 ` Jeff King
2008-11-12 17:30 ` Brandon Casey
2008-11-12 17:59 ` repack and .keep series Brandon Casey
2008-11-12 17:59 ` [PATCH 1/6] t7700: demonstrate mishandling of objects in packs with a .keep file Brandon Casey
2008-11-12 17:59 ` [PATCH 2/6] packed_git: convert pack_local flag into a bitfield and add pack_keep Brandon Casey
2008-11-12 17:59 ` [PATCH 3/6] pack-objects: new option --honor-pack-keep Brandon Casey
2008-11-12 17:59 ` [PATCH 4/6] repack: don't repack local objects in packs with .keep file Brandon Casey
2008-11-12 17:59 ` [PATCH 5/6] repack: do not fall back to incremental repacking with [-a|-A] Brandon Casey
2008-11-12 17:59 ` [PATCH 6/6] builtin-gc.c: use new pack_keep bitfield to detect .keep file existence Brandon Casey
2008-11-13 0:50 ` [PATCH] t7700: test that 'repack -a' packs alternate packed objects Brandon Casey
2008-11-12 18:10 ` [PATCH v2 1/3] t7700: demonstrate mishandling of objects in packs with a .keep file Junio C Hamano
2008-11-12 18:19 ` Junio C Hamano
[not found] ` <1225643477-32319-1-git-send-email-foo@foo.com>
2008-11-02 16:31 ` [PATCH 2/3] packed_git: add new PACK_KEEP flag and haspackkeep() access macro drafnel
[not found] ` <1225643477-32319-2-git-send-email-foo@foo.com>
2008-11-02 16:31 ` [PATCH 3/3] pack-objects: honor '.keep' files drafnel
2008-11-03 16:17 ` Shawn O. Pearce
2008-11-03 10:35 ` [PATCH] t7700: demonstrate mishandling of objects in packs with a .keep file Andreas Ericsson
2008-11-03 18:20 ` Brandon Casey
2008-11-03 20:25 ` Andreas Ericsson
2008-11-03 22:02 ` Brandon Casey
2008-11-04 19:25 ` Andreas Ericsson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=14536526.1225596838300.JavaMail.teamon@b301.teamon.com \
--to=drafnel@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=nico@cam.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.