mirror of https://github.com/qTox/qTox
chore(tools): allow merging PR to whatever branch is checked out
Useful for either dev testing or merging PRs to dev branches. Also stop updating local repo state beyond merging the PR.reviewable/pr5854/r3
parent
e97b270584
commit
fe9d83d881
|
@ -58,7 +58,9 @@ git config --global alias.logs 'log --show-signature'
|
|||
merge-commit **must** be signed. To simplify the process, and ensure that
|
||||
things are done "right", it's preferable to use the [`merge-pr.sh`] script,
|
||||
which does that for you automatically.
|
||||
- **use** [`merge-pr.sh`] script to merge PRs, e.g. `./merge-pr.sh 1234`.
|
||||
- **use** [`merge-pr.sh`] script to merge PRs. First checkout the target
|
||||
branch, usually either `master` or a release dev branch e.g. `v1.17-dev`,
|
||||
make sure it's up to date with qTox/qTox, then e.g. `./merge-pr.sh 1234`.
|
||||
|
||||
You don't have to use it, but then you're running into risk of breaking
|
||||
travis build of master & other PRs, since it verifies all commit messages,
|
||||
|
|
|
@ -52,6 +52,9 @@ source_functions() {
|
|||
main() {
|
||||
local remote_name="upstream"
|
||||
local merge_branch="merge"
|
||||
local base_branch # because assigning on the same line will break error code parsing.. http://www.tldp.org/LDP/abs/html/localvar.html
|
||||
base_branch=$(git symbolic-ref HEAD --short)
|
||||
|
||||
source_functions
|
||||
exit_if_not_pr $PR
|
||||
add_remote
|
||||
|
|
|
@ -60,24 +60,24 @@ add_remote() {
|
|||
after_merge_msg() {
|
||||
echo ""
|
||||
echo "PR #$PR was merged into «$@$PR» branch."
|
||||
echo "To compare with master:"
|
||||
echo "To compare with $base_branch:"
|
||||
echo ""
|
||||
echo " git diff master..$@$PR"
|
||||
echo " git diff $base_branch..$@$PR"
|
||||
echo ""
|
||||
if [[ "$@" == "merge" ]]
|
||||
then
|
||||
echo "To push that to master on github:"
|
||||
echo "To push that to $base_branch on github:"
|
||||
echo ""
|
||||
echo " git checkout master && git merge --ff $@$PR && git push upstream master"
|
||||
echo " git checkout $base_branch && git merge --ff $@$PR && git push upstream $base_branch"
|
||||
echo ""
|
||||
echo "After pushing to master, delete branches:"
|
||||
echo "After pushing to $base_branch, delete branches:"
|
||||
echo ""
|
||||
echo " git branch -d {$@,}$PR"
|
||||
echo ""
|
||||
fi
|
||||
echo "To discard any changes:"
|
||||
echo ""
|
||||
echo " git checkout master && git branch -D {$@,}$PR"
|
||||
echo " git checkout $base_branch && git branch -D {$@,}$PR"
|
||||
echo ""
|
||||
}
|
||||
|
||||
|
@ -88,7 +88,7 @@ after_merge_failure_msg() {
|
|||
echo ""
|
||||
echo "You may want to remove not merged branches, if they exist:"
|
||||
echo ""
|
||||
echo " git checkout master && git branch -D {$@,}$PR"
|
||||
echo " git checkout $base_branch && git branch -D {$@,}$PR"
|
||||
echo ""
|
||||
}
|
||||
|
||||
|
@ -100,16 +100,13 @@ rm_obsolete_branch() {
|
|||
get_sources() {
|
||||
add_remote
|
||||
rm_obsolete_branch
|
||||
git fetch $remote_name && \
|
||||
git checkout master && \
|
||||
git rebase $remote_name/master master && \
|
||||
git fetch $remote_name pull/$PR/head:$PR && \
|
||||
git checkout master -b $merge_branch$PR
|
||||
git checkout $base_branch -b $merge_branch$PR
|
||||
}
|
||||
|
||||
# check whether to sign
|
||||
merge() {
|
||||
"${@}" --no-ff $PR -m "Merge pull request #$PR
|
||||
$OPT_MSG
|
||||
$(git shortlog master..$PR)"
|
||||
$(git shortlog $base_branch..$PR)"
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue