[PATCH 1/2] Add a test showing that 'git repack' throws away grafted-away parents
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
Bjoern said that the reflogs are not thrown away if there is no
"sleep 1" (which I turned into "test-chmtime -1 .git/logs/HEAD
.git/logs/refs/heads/master" only to delete it as things worked
here without it).
t/t7700-repack.sh | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/t/t7700-repack.sh b/t/t7700-repack.sh
index 87c9b0e..a4dddb7 100755
--- a/t/t7700-repack.sh
+++ b/t/t7700-repack.sh
@@ -149,5 +149,17 @@ test_expect_success 'local packed unreachable obs that exist in alternate ODB ar
test_must_fail git show $csha1
'
+test_expect_failure 'objects made unreachable by grafts only are kept' '
+ test_tick &&
+ git commit --allow-empty -m "commit 4" &&
+ H0=$(git rev-parse HEAD) &&
+ H1=$(git rev-parse HEAD^) &&
+ H2=$(git rev-parse HEAD^^) &&
+ echo "$H0 $H2" > .git/info/grafts &&
+ git reflog expire --expire=now --expire-unreachable=now --all &&
+ git repack -a -d &&
+ git cat-file -t $H1
+ '
+
test_done
--
1.6.4.rc1.289.gf87df