aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeddy Wing2018-12-01 00:50:10 +0100
committerTeddy Wing2018-12-01 00:50:10 +0100
commitecd23823f68a1cbb07e54354d79a705469fc048a (patch)
tree1b7607a4ef7ff3fbfefecfd0f454bfed69d38739
parent3b8101f26292fb542ccc0612d6a95c42d074046b (diff)
downloadcode-review-ecd23823f68a1cbb07e54354d79a705469fc048a.tar.bz2
Add `git-review`
Shell function that checks out a pull request in a git worktree and changes into the worktree directory.
-rw-r--r--git-review18
1 files changed, 18 insertions, 0 deletions
diff --git a/git-review b/git-review
new file mode 100644
index 0000000..fd3f59c
--- /dev/null
+++ b/git-review
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+EX_USAGE=64
+
+git-review () {
+ if [ "$#" -ne 1 ]; then
+ return $EX_USAGE
+ fi
+
+ local pr_id="$1"
+ local path="$(git rev-parse --show-toplevel)"
+ local worktree_dir="$path+review-$pr_id"
+
+ git fetch origin pull/$pr_id/head:pr/$pr_id \
+ && git worktree add "$worktree_dir" pr/$pr_id
+
+ cd "$worktree_dir"
+}