.gitconfig: Improve mpr command

Change the `mpr` command so that it merges the specified pull request into the current branch¹, or if a branch name is specified², into the specified branch.

¹ git mpr <number>
² git mpr <number> <branch_name>

Closes #607.
This commit is contained in:
Cătălin Mariș
2015-12-01 13:30:02 +01:00
committed by Mathias Bynens
parent 82ff5bff91
commit cc5a019cef
+7 -3
View File
@@ -60,12 +60,16 @@
# List contributors with number of commits
contributors = shortlog --summary --numbered
# Merge GitHub pull request on top of the `master` branch
# Merge GitHub pull request on top of the current branch or,
# if a branch name is specified, on top of the specified branch
mpr = "!f() { \
declare currentBranch=\"$(git symbolic-ref --short HEAD)\"; \
declare branch=\"${2:-$currentBranch}\"; \
if [ $(printf \"%s\" \"$1\" | grep '^[0-9]\\+$' > /dev/null; printf $?) -eq 0 ]; then \
git fetch origin refs/pull/$1/head:pr/$1 && \
git rebase master pr/$1 && \
git checkout master && \
git checkout -B $branch && \
git rebase $branch pr/$1 && \
git checkout -B $branch && \
git merge pr/$1 && \
git branch -D pr/$1 && \
git commit --amend -m \"$(git log -1 --pretty=%B)\n\nCloses #$1.\"; \