s/Patchwork/Gerrit/

Change-Id: I3d2e0c081cce5c69a6a168ddd0d850cdba84f53e
This commit is contained in:
Anand Avati 2011-07-18 16:06:59 +05:30
parent 15d2e7dd88
commit fbe8cc85a1
3 changed files with 104 additions and 64 deletions

View File

@ -1,4 +0,0 @@
#!/bin/sh
export EDITOR="emacs"
git commit -a -e "$@"

View File

@ -1,60 +0,0 @@
#!/bin/bash
function is_num()
{
local num;
num="$1";
[ -z "$(echo $num | sed -e 's/[0-9]//g')" ]
}
function guess_branch()
{
local branch;
local src_branch;
branch=$(git branch | grep '*' | cut -f2 -d' ');
if [ $branch = "master" ] ; then
src_branch="master";
else
src_branch=$(cat .git/logs/refs/heads/$branch | head -n 1 \
| sed -r -e 's/.*( [^ ]*)$/\1/g' | cut -f2 -d/);
fi
echo $src_branch
}
function main()
{
local branch;
local bug;
branch=$(guess_branch);
echo
echo "Patches are always to be associated with a bug ID. If there is no "
echo "bug filed in bugzilla for this patch, it is highly suggested to file"
echo "a new bug with a description and reasoning of this patchset. If this"
echo "is a new feature, then file a new enhancement bug with a brief "
echo "summary of the feature as the description."
echo
echo -n "Enter bug ID (from http://bugs.gluster.com/): "
read bug;
[ -z "$bug" ] || is_num $bug || {
log "bug ID should be a valid bug number";
exit;
}
if [ -z "$bug" ]; then
git format-patch -s "$@";
else
git format-patch -s --subject-prefix="PATCH BUG:$bug" "$@";
fi
}
main "$@"

104
rfc.sh Executable file
View File

@ -0,0 +1,104 @@
#!/bin/bash -e
branch="master";
function 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;
}
function is_num()
{
local num;
num="$1";
[ -z "$(echo $num | sed -e 's/[0-9]//g')" ]
}
function rebase_changes()
{
git fetch --all;
EDITOR=$0 git rebase -i origin/$branch;
}
function editor_mode()
{
if [ $(basename "$1") = "git-rebase-todo" ]; then
sed -i 's/^pick /reword /g' "$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 -i "s/^\(Change-Id: .*\)$/\1\nBUG: $bug/g" $1;
return;
done
fi
cat <<EOF
$0 - editor_mode called on unrecognized file $1 with content:
$(cat $1)
EOF
return 1;
}
function assert_diverge()
{
git diff origin/$branch..HEAD | grep -q .;
}
function main()
{
if [ -e "$1" ]; then
editor_mode "$@";
return;
fi
set_hooks_commit_msg;
rebase_changes;
assert_diverge;
bug=$(git show --format='%b' | grep -i '^BUG: ' | awk '{print $2}');
if [ -z "$bug" ]; then
git push origin HEAD:refs/for/$branch/rfc;
else
git push origin HEAD:refs/for/$branch/bug-$bug;
fi
}
main "$@"