test-lib functions: add an --append option to test_commit

Add an --append option to test_commit to append <contents> to the
<file> we're writing to. This simplifies a lot of test setup, as shown
in some of the tests being changed here.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason
2021-01-12 21:17:59 +01:00
committed by Junio C Hamano
parent 999cfc4f45
commit 3373518cc8
2 changed files with 20 additions and 33 deletions

View File

@ -183,6 +183,9 @@ debug () {
# Run all git commands in directory <dir>
# --notick
# Do not call test_tick before making a commit
# --append
# Use "echo >>" instead of "echo >" when writing "<contents>" to
# "<file>"
# --signoff
# Invoke "git commit" with --signoff
# --author=<author>
@ -195,6 +198,7 @@ debug () {
test_commit () {
notick= &&
append= &&
author= &&
signoff= &&
indir= &&
@ -204,6 +208,9 @@ test_commit () {
--notick)
notick=yes
;;
--append)
append=yes
;;
--author)
author="$2"
shift
@ -223,7 +230,12 @@ test_commit () {
done &&
indir=${indir:+"$indir"/} &&
file=${2:-"$1.t"} &&
echo "${3-$1}" > "$indir$file" &&
if test -n "$append"
then
echo "${3-$1}" >>"$indir$file"
else
echo "${3-$1}" >"$indir$file"
fi &&
git ${indir:+ -C "$indir"} add "$file" &&
if test -z "$notick"
then