Revision 2f3b28f27234a0130583131a6785c44e3dd1cac4 authored by Johannes Schindelin on 09 March 2023, 22:08:47 UTC, committed by Johannes Schindelin on 17 April 2023, 19:15:37 UTC
The `maint-2.30` branch accumulated quite a few fixes over the past two years. Most of those fixes were originally based on newer versions, and while the patches cherry-picked cleanly, we weren't diligent enough to pay attention to the CI builds and the GETTEXT_POISON job regressed. This topic branch fixes that. * js/gettext-poison-fixes t0033: GETTEXT_POISON fix t0003: GETTEXT_POISON fix, part 1 t0003: GETTEXT_POISON fix, conclusion t5619: GETTEXT_POISON fix t5604: GETTEXT_POISON fix, part 1 t5604: GETTEXT_POISON fix, conclusion
t4255-am-submodule.sh
#!/bin/sh
test_description='git am handling submodules'
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-submodule-update.sh
am () {
git format-patch --stdout --ignore-submodules=dirty "..$1" >patch &&
may_only_be_test_must_fail "$2" &&
$2 git am patch
}
test_submodule_switch_func "am"
am_3way () {
git format-patch --stdout --ignore-submodules=dirty "..$1" >patch &&
may_only_be_test_must_fail "$2" &&
$2 git am --3way patch
}
KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES=1
test_submodule_switch_func "am_3way"
test_expect_success 'setup diff.submodule' '
test_commit one &&
INITIAL=$(git rev-parse HEAD) &&
git init submodule &&
(
cd submodule &&
test_commit two &&
git rev-parse HEAD >../initial-submodule
) &&
git submodule add ./submodule &&
git commit -m first &&
(
cd submodule &&
test_commit three &&
git rev-parse HEAD >../first-submodule
) &&
git add submodule &&
git commit -m second &&
SECOND=$(git rev-parse HEAD) &&
(
cd submodule &&
git mv two.t four.t &&
git commit -m "second submodule" &&
git rev-parse HEAD >../second-submodule
) &&
test_commit four &&
git add submodule &&
git commit --amend --no-edit &&
THIRD=$(git rev-parse HEAD) &&
git submodule update --init
'
run_test() {
START_COMMIT=$1 &&
EXPECT=$2 &&
# Abort any merges in progress: the previous
# test may have failed, and we should clean up.
test_might_fail git am --abort &&
git reset --hard $START_COMMIT &&
rm -f *.patch &&
git format-patch -1 &&
git reset --hard $START_COMMIT^ &&
git submodule update &&
git am *.patch &&
git submodule update &&
git -C submodule rev-parse HEAD >actual &&
test_cmp $EXPECT actual
}
test_expect_success 'diff.submodule unset' '
test_unconfig diff.submodule &&
run_test $SECOND first-submodule
'
test_expect_success 'diff.submodule unset with extra file' '
test_unconfig diff.submodule &&
run_test $THIRD second-submodule
'
test_expect_success 'diff.submodule=log' '
test_config diff.submodule log &&
run_test $SECOND first-submodule
'
test_expect_success 'diff.submodule=log with extra file' '
test_config diff.submodule log &&
run_test $THIRD second-submodule
'
test_done
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...