git-commit-vandalism/t/t5405-send-pack-rewind.sh
Junio C Hamano 6738c81942 send-pack: segfault fix on forced push
When pushing to overwrite a ref that points at a commit we do
not even have, the recent "terse push" patch tried to get a
unique abbreviation for the non-existent (from our point of
view) object, which resulted in strcpy(buf, NULL) and
segfaulted.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-11-08 01:43:34 -08:00

43 lines
593 B
Bash
Executable File

#!/bin/sh
test_description='forced push to replace commit we do not have'
. ./test-lib.sh
test_expect_success setup '
>file1 && git add file1 && test_tick &&
git commit -m Initial &&
mkdir another && (
cd another &&
git init &&
git fetch .. master:master
) &&
>file2 && git add file2 && test_tick &&
git commit -m Second
'
test_expect_success 'non forced push should die not segfault' '
(
cd another &&
git push .. master:master
test $? = 1
)
'
test_expect_success 'forced push should succeed' '
(
cd another &&
git push .. +master:master
)
'
test_done