Merge pull request #140 from stefanzweifel/feature/create-new-branch-during-checkout
Feature: Create a new branch, if the given branch name doesn't exist yet
This commit is contained in:
commit
9abc4c41e5
@ -48,9 +48,28 @@ _switch_to_branch() {
|
||||
git fetch --depth=1;
|
||||
fi
|
||||
|
||||
# Switch to branch from current Workflow run
|
||||
# shellcheck disable=SC2086
|
||||
git checkout $INPUT_BRANCH;
|
||||
|
||||
# If INPUT_BRANCH is empty, just run `git checkout`
|
||||
if [ -z "$INPUT_BRANCH" ]
|
||||
then
|
||||
# shellcheck disable=SC2086
|
||||
git checkout $INPUT_BRANCH;
|
||||
else
|
||||
# If the branch which we should checkout already exists, just
|
||||
# run `git checkout $INPUT_BRANCH`
|
||||
# Otherwhise create a new branch by adding the `-b` option to
|
||||
# `git-checkout`
|
||||
# shellcheck disable=SC2086
|
||||
if [ -n "$(git branch --list $INPUT_BRANCH)" ]
|
||||
then
|
||||
# shellcheck disable=SC2086
|
||||
git checkout $INPUT_BRANCH;
|
||||
else
|
||||
# shellcheck disable=SC2086
|
||||
git checkout -b $INPUT_BRANCH;
|
||||
fi
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
_add_files() {
|
||||
|
@ -331,3 +331,25 @@ git_auto_commit() {
|
||||
|
||||
assert_line "::debug::git-fetch has not been executed"
|
||||
}
|
||||
|
||||
@test "If INPUT_BRANCH is set and the branch does not exist it creates one" {
|
||||
INPUT_BRANCH="new-branch"
|
||||
|
||||
run git branch
|
||||
refute_line "new-branch"
|
||||
|
||||
touch "${FAKE_LOCAL_REPOSITORY}"/new-file-{1,2,3}.txt
|
||||
|
||||
run git_auto_commit
|
||||
|
||||
assert_success
|
||||
|
||||
assert_line "INPUT_BRANCH value: new-branch"
|
||||
assert_line --partial "::debug::Push commit to remote branch new-branch"
|
||||
|
||||
# Assert that branch "new-branch" was updated on remote
|
||||
current_sha="$(git rev-parse --verify --short new-branch)"
|
||||
remote_sha="$(git rev-parse --verify --short origin/new-branch)"
|
||||
|
||||
assert_equal $current_sha $remote_sha
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user