e84a26e32f
Fix a leak that's been with us since3407bb4940
(Add "unpack-file" helper that unpacks a sha1 blob into a tmpfile., 2005-04-18). See00c8fd493a
(cat-file: use streaming API to print blobs, 2012-03-07) for prior art which shows the same API pattern, i.e. free()-ing the result of read_object_file() after it's used. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Taylor Blau <me@ttaylorr.com>
62 lines
1.1 KiB
Bash
Executable File
62 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description='ask merge-recursive to merge binary files'
|
|
|
|
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
|
|
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
|
|
|
|
TEST_PASSES_SANITIZE_LEAK=true
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success setup '
|
|
|
|
cat "$TEST_DIRECTORY"/test-binary-1.png >m &&
|
|
git add m &&
|
|
git ls-files -s | sed -e "s/ 0 / 1 /" >E1 &&
|
|
test_tick &&
|
|
git commit -m "initial" &&
|
|
|
|
git branch side &&
|
|
echo frotz >a &&
|
|
git add a &&
|
|
echo nitfol >>m &&
|
|
git add a m &&
|
|
git ls-files -s a >E0 &&
|
|
git ls-files -s m | sed -e "s/ 0 / 3 /" >E3 &&
|
|
test_tick &&
|
|
git commit -m "main adds some" &&
|
|
|
|
git checkout side &&
|
|
echo rezrov >>m &&
|
|
git add m &&
|
|
git ls-files -s m | sed -e "s/ 0 / 2 /" >E2 &&
|
|
test_tick &&
|
|
git commit -m "side modifies" &&
|
|
|
|
git tag anchor &&
|
|
|
|
cat E0 E1 E2 E3 >expect
|
|
'
|
|
|
|
test_expect_success resolve '
|
|
|
|
rm -f a* m* &&
|
|
git reset --hard anchor &&
|
|
|
|
test_must_fail git merge -s resolve main &&
|
|
git ls-files -s >current &&
|
|
test_cmp expect current
|
|
'
|
|
|
|
test_expect_success recursive '
|
|
|
|
rm -f a* m* &&
|
|
git reset --hard anchor &&
|
|
|
|
test_must_fail git merge -s recursive main &&
|
|
git ls-files -s >current &&
|
|
test_cmp expect current
|
|
'
|
|
|
|
test_done
|