diff options
Diffstat (limited to 'format-patch.sh')
-rwxr-xr-x | format-patch.sh | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/format-patch.sh b/format-patch.sh new file mode 100755 index 00000000000..2d9d8cdd929 --- /dev/null +++ b/format-patch.sh @@ -0,0 +1,60 @@ +#!/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 --subject-prefix="PATCH BRANCH:$branch" "$@"; + else + git format-patch --subject-prefix="PATCH BRANCH:$branch BUG:$bug" "$@"; + fi +} + +main "$@" |