From cc5a019cef9becea233798541b2877b71ac6a4e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C4=83t=C4=83lin=20Mari=C8=99?= Date: Mon, 30 Nov 2015 22:27:43 +0200 Subject: .gitconfig: Improve `mpr` command MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 ² git mpr Closes #607. --- .gitconfig | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitconfig b/.gitconfig index 7a95a1a..5f2da62 100644 --- a/.gitconfig +++ b/.gitconfig @@ -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.\"; \ -- cgit v1.2.3