summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2018-11-21 22:57:50 +0900
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-11-21 22:57:50 +0900
commite3c18aa35bf619e36efdea2f495756bcab597b8b (patch)
treec7dfd185793394ca2d1cf5df7ed7eb98ff66e08e /t
parentMerge branch 'jk/run-command-notdot' into maint (diff)
parentpack-objects (mingw): initialize `packing_data` mutex in the correct spot (diff)
downloadtgif-e3c18aa35bf619e36efdea2f495756bcab597b8b.tar.xz
Merge branch 'js/pack-objects-mutex-init-fix' into maint
A mutex used in "git pack-objects" were not correctly initialized and this caused "git repack" to dump core on Windows. * js/pack-objects-mutex-init-fix: pack-objects (mingw): initialize `packing_data` mutex in the correct spot pack-objects (mingw): demonstrate a segmentation fault with large deltas pack-objects: fix typo 'detla' -> 'delta'
Diffstat (limited to 't')
-rwxr-xr-xt/t5321-pack-large-objects.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/t/t5321-pack-large-objects.sh b/t/t5321-pack-large-objects.sh
new file mode 100755
index 0000000000..a75eab87d3
--- /dev/null
+++ b/t/t5321-pack-large-objects.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+#
+# Copyright (c) 2018 Johannes Schindelin
+#
+
+test_description='git pack-object with "large" deltas
+
+'
+. ./test-lib.sh
+. "$TEST_DIRECTORY"/lib-pack.sh
+
+# Two similar-ish objects that we have computed deltas between.
+A=01d7713666f4de822776c7622c10f1b07de280dc
+B=e68fe8129b546b101aee9510c5328e7f21ca1d18
+
+test_expect_success 'setup' '
+ clear_packs &&
+ {
+ pack_header 2 &&
+ pack_obj $A $B &&
+ pack_obj $B
+ } >ab.pack &&
+ pack_trailer ab.pack &&
+ git index-pack --stdin <ab.pack
+'
+
+test_expect_success 'repack large deltas' '
+ printf "%s\\n" $A $B |
+ GIT_TEST_OE_DELTA_SIZE=2 git pack-objects tmp-pack
+'
+
+test_done