Merge branch 'update-git-replay-merge' into 'master'
Update git-replay-merge script to use gitlab CLI to push merge request automatically See merge request isc-projects/bind9!289
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -7,6 +7,8 @@ libtool
|
|||||||
/isc-config.sh
|
/isc-config.sh
|
||||||
/configure.lineno
|
/configure.lineno
|
||||||
autom4te.cache/
|
autom4te.cache/
|
||||||
|
*.rej
|
||||||
|
*.orig
|
||||||
*.o
|
*.o
|
||||||
*.lo
|
*.lo
|
||||||
*.so
|
*.so
|
||||||
|
|||||||
@@ -147,34 +147,15 @@ resume() {
|
|||||||
die_with_continue_instructions
|
die_with_continue_instructions
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
# Announce the plan.
|
|
||||||
echo "Attempting to merge ${REPLAY_BRANCH} into ${TARGET_BRANCH}..."
|
|
||||||
# Check if a local branch with the same name as the target branch
|
|
||||||
# exists. If it does not, switch to a new local branch with the same
|
|
||||||
# name as the target branch. Otherwise, ensure the local branch is not
|
|
||||||
# behind the target branch at the target remote, then switch to it.
|
|
||||||
if ! branch_exists "${TARGET_BRANCH}"; then
|
|
||||||
git checkout -t -b "${TARGET_BRANCH}" "${TARGET_REF}" >/dev/null
|
|
||||||
else
|
|
||||||
die_if_local_behind_target
|
|
||||||
git checkout "${TARGET_BRANCH}" &>/dev/null
|
|
||||||
fi
|
|
||||||
# Use the original commit message with a modified subject line.
|
|
||||||
COMMIT_MSG="$(
|
|
||||||
git log --max-count=1 --format="%B" "${SOURCE_COMMIT}" |
|
|
||||||
sed "1s/.*/Merge branch '${REPLAY_BRANCH}' into '${TARGET_BRANCH}'/;"
|
|
||||||
)"
|
|
||||||
# Merge the replay branch into the local target branch.
|
|
||||||
git merge --no-ff -m "${COMMIT_MSG}" "${REPLAY_BRANCH}"
|
|
||||||
cat <<-EOF
|
|
||||||
|
|
||||||
Replayed ${SOURCE_BRANCH} onto ${TARGET_BRANCH}.
|
git push ${TARGET_REMOTE} -u ${REPLAY_BRANCH}
|
||||||
To push the replay, use:
|
|
||||||
|
|
||||||
git push ${TARGET_REMOTE} ${TARGET_BRANCH}:${TARGET_BRANCH}
|
REPLAY_COMMIT_TITLE="$(git show --format="%b" "${SOURCE_COMMIT}" 2>&1 | head -1)"
|
||||||
|
|
||||||
EOF
|
gitlab create_merge_request 1 "${REPLAY_COMMIT_TITLE}" "{source_branch: '${REPLAY_BRANCH}', target_branch: '${TARGET_BRANCH}'}"
|
||||||
|
|
||||||
cleanup
|
cleanup
|
||||||
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanup() {
|
cleanup() {
|
||||||
@@ -184,7 +165,6 @@ cleanup() {
|
|||||||
git merge --abort
|
git merge --abort
|
||||||
git cherry-pick --abort
|
git cherry-pick --abort
|
||||||
git checkout "${CHECKED_OUT_BRANCH}"
|
git checkout "${CHECKED_OUT_BRANCH}"
|
||||||
git branch -D "${REPLAY_BRANCH}"
|
|
||||||
} &>/dev/null || true
|
} &>/dev/null || true
|
||||||
rm -f "${STATE_FILE}"
|
rm -f "${STATE_FILE}"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user