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