test: refactor to use "test_commit" to create commits

Refactor function "create_commits_in" to use "test_commit" to create
commit.

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jiang Xin 2021-06-17 11:17:26 +08:00 committed by Junio C Hamano
parent 2bafb3d702
commit 3c06a58339
2 changed files with 12 additions and 38 deletions

View File

@ -6,29 +6,16 @@
# NOTE: Never calling this function from a subshell since variable
# assignments will disappear when subshell exits.
create_commits_in () {
repo="$1" &&
if ! parent=$(git -C "$repo" rev-parse HEAD^{} --)
then
parent=
fi &&
T=$(git -C "$repo" write-tree) &&
repo="$1" && test -d "$repo" ||
error "Repository $repo does not exist."
shift &&
while test $# -gt 0
do
name=$1 &&
test_tick &&
if test -z "$parent"
then
oid=$(echo $name | git -C "$repo" commit-tree $T)
else
oid=$(echo $name | git -C "$repo" commit-tree -p $parent $T)
fi &&
eval $name=$oid &&
parent=$oid &&
shift ||
return 1
done &&
git -C "$repo" update-ref refs/heads/main $oid
shift &&
test_commit -C "$repo" --no-tag "$name" &&
eval $name=$(git -C "$repo" rev-parse HEAD)
done
}
# Format the output of git-push, git-show-ref and other commands to make a

View File

@ -14,29 +14,16 @@ test_description='Test git push porcelain output'
# NOTE: Never calling this function from a subshell since variable
# assignments will disappear when subshell exits.
create_commits_in () {
repo="$1" &&
if ! parent=$(git -C "$repo" rev-parse HEAD^{} --)
then
parent=
fi &&
T=$(git -C "$repo" write-tree) &&
repo="$1" && test -d "$repo" ||
error "Repository $repo does not exist."
shift &&
while test $# -gt 0
do
name=$1 &&
test_tick &&
if test -z "$parent"
then
oid=$(echo $name | git -C "$repo" commit-tree $T)
else
oid=$(echo $name | git -C "$repo" commit-tree -p $parent $T)
fi &&
eval $name=$oid &&
parent=$oid &&
shift ||
return 1
done &&
git -C "$repo" update-ref refs/heads/main $oid
shift &&
test_commit -C "$repo" --no-tag "$name" &&
eval $name=$(git -C "$repo" rev-parse HEAD)
done
}
# Format the output of git-push, git-show-ref and other commands to make a