s/Patchwork/Gerrit/
Change-Id: I3d2e0c081cce5c69a6a168ddd0d850cdba84f53e
This commit is contained in:
parent
15d2e7dd88
commit
fbe8cc85a1
@ -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
104
rfc.sh
Executable 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 "$@"
|
Loading…
x
Reference in New Issue
Block a user