From 2d8e333e69e702d2ff582215b5b5da6e1efedf23 Mon Sep 17 00:00:00 2001 From: Vijay Bellur Date: Thu, 22 Dec 2011 13:47:05 +0530 Subject: Added rfc.sh for gerrit Change-Id: Icdbafefa4df0fc876b4b510d709b7a03a6d3d788 BUG: 769781 Signed-off-by: Vijay Bellur --- rfc.sh | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100755 rfc.sh diff --git a/rfc.sh b/rfc.sh new file mode 100755 index 00000000..e6cce0d2 --- /dev/null +++ b/rfc.sh @@ -0,0 +1,111 @@ +#!/bin/sh -e + + +branch="master"; + + +set_hooks_commit_msg() +{ + f=".git/hooks/commit-msg"; + u="http://review.gluster.com/tools/hooks/commit-msg"; + + if [ -x "$f" ]; then + return; + fi + + curl -o $f $u || wget -O $f $u; + + chmod +x .git/hooks/commit-msg; +} + + +is_num() +{ + local num; + + num="$1"; + + [ -z "$(echo $num | sed -e 's/[0-9]//g')" ] +} + + +rebase_changes() +{ + git fetch; + + GIT_EDITOR=$0 git rebase -i origin/$branch; +} + + +editor_mode() +{ + if [ $(basename "$1") = "git-rebase-todo" ]; then + sed 's/^pick /reword /g' "$1" > $1.new && mv $1.new $1; + return; + fi + + if [ $(basename "$1") = "COMMIT_EDITMSG" ]; then + if grep -qi '^BUG: ' $1; then + return; + fi + while true; do + echo Commit: "\"$(head -n 1 $1)\"" + echo -n "Enter Bug ID: " + read bug + if [ -z "$bug" ]; then + return; + fi + if ! is_num "$bug"; then + echo "Invalid Bug ID ($bug)!!!"; + continue; + fi + + sed "/^Change-Id:/{p; s/^.*$/BUG: $bug/;}" $1 > $1.new && \ + mv $1.new $1; + return; + done + fi + + cat <