git/t/t3513-revert-submodule.sh
Đoàn Trần Công Danh 5317dfeaed t: use configured TAR instead of tar
Despite that tar is available everywhere, it's not required by POSIX.

In our build system, users are allowed to specify which tar to be used
in Makefile knobs. Furthermore, GNU tar (gtar) is prefered when autotools
is being used.

In our testsuite, 7 out of 9 tar-required-tests use "$TAR", the other
two use "tar".

Let's change the remaining two tests to "$TAR".

Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-05-22 18:01:57 +09:00

37 lines
1.0 KiB
Bash
Executable File

#!/bin/sh
test_description='revert can handle submodules'
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-submodule-update.sh
# Create a revert that moves from HEAD (including any test modifications to
# the work tree) to $1 by first checking out $1 and reverting it. Reverting
# the revert is the transition we test for. We tar the current work tree
# first so we can restore the work tree test setup after doing the checkout
# and revert. We test here that the restored work tree content is identical
# to that at the beginning. The last revert is then tested by the framework.
git_revert () {
git status -su >expect &&
ls -1pR * >>expect &&
"$TAR" cf "$TRASH_DIRECTORY/tmp.tar" * &&
may_only_be_test_must_fail "$2" &&
$2 git checkout "$1" &&
if test -n "$2"
then
return
fi &&
git revert HEAD &&
rm -rf * &&
"$TAR" xf "$TRASH_DIRECTORY/tmp.tar" &&
git status -su >actual &&
ls -1pR * >>actual &&
test_cmp expect actual &&
git revert HEAD
}
KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1
test_submodule_switch_func "git_revert"
test_done