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:
parent
2bafb3d702
commit
3c06a58339
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user