Skip to content

Commit cb8ab25

Browse files
committed
Fix REF_DELTA chain bug in 'git index-pack' (#745)
This is an early version of work already under review upstream: gitgitgadget#1906
2 parents 72210eb + a0401ef commit cb8ab25

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

t/t5309-pack-delta-cycles.sh

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,4 +105,30 @@ test_expect_success 'index-pack works with thin pack A->B->C with B on disk' '
105105
)
106106
'
107107

108+
test_expect_failure 'index-pack works with thin pack A->B->C with B on disk' '
109+
git init server &&
110+
(
111+
cd server &&
112+
test_commit_bulk 4
113+
) &&
114+
115+
A=$(git -C server rev-parse HEAD^{tree}) &&
116+
B=$(git -C server rev-parse HEAD~1^{tree}) &&
117+
C=$(git -C server rev-parse HEAD~2^{tree}) &&
118+
git -C server reset --hard HEAD~1 &&
119+
120+
cat >in <<-EOF &&
121+
REF_DELTA $A $B
122+
REF_DELTA $B $C
123+
EOF
124+
125+
test-tool -C server pack-deltas 2 <in >thin.pack &&
126+
127+
git clone "file://$(pwd)/server" client &&
128+
(
129+
cd client &&
130+
git index-pack --fix-thin --stdin <../thin.pack
131+
)
132+
'
133+
108134
test_done

0 commit comments

Comments
 (0)