From bb0b8efa06e504a5b82dbc0fb5f22721701dcb42 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Tue, 19 Mar 2013 17:19:42 -0400 Subject: split pbs-package-commit into pbs-package-{post,}commit, and fix it --- pbs-package-commit | 15 ++++++--------- pbs-package-postcommit | 35 +++++++++++++++++++++++++++++++++++ pbs-plumb-shlib | 4 ++++ 3 files changed, 45 insertions(+), 9 deletions(-) create mode 100755 pbs-package-postcommit diff --git a/pbs-package-commit b/pbs-package-commit index 0f52401..7af6fc5 100755 --- a/pbs-package-commit +++ b/pbs-package-commit @@ -7,8 +7,11 @@ usage() { echo "Usage: $cmd [git-commit OPTIONS]" echo 'Commits to a package (run from the package directory).' echo '' - echo 'This is the same as `git commit`, but cascades up out of the' - echo 'submodule.' + echo 'This is like `git commit`, but cascades up out of the submodule.' + echo 'It is simply:' + echo + echo ' git commit "$@"' + echo ' pbs-package-postcommit' echo '' echo 'Options:' echo ' -h Show this message' @@ -26,13 +29,7 @@ main() { ensure_in_pbs-package git commit "$@" - git push - local msg="$(git log -n1 --pretty=format:%B)" - local dir="$(pwd)" - - cdto_pbs-root - git add "${dir##*/}" - git commit -m "$msg" + pbs-package-postcommit } main "$@" diff --git a/pbs-package-postcommit b/pbs-package-postcommit new file mode 100755 index 0000000..e8ff196 --- /dev/null +++ b/pbs-package-postcommit @@ -0,0 +1,35 @@ +#!/bin/bash -euE + +. pbs-plumb-shlib + +cmd=${0##*/} +usage() { + echo "Usage: $cmd [git-commit OPTIONS]" + echo 'Call this after doing a `git commit` manually.' + echo '' + echo 'This cascades the commit up out of the submodule.' + echo '' + echo 'Options:' + echo ' -h Show this message' +} + +main() { + if in_array '-h' "$@"; then + usage + return 0 + fi + + ensure_in_pbs-package + + # push the commit upstream + git push -f origin "$(gitbranch)" + + # update the submodule + local msg="$(git log -n1 --pretty=format:%B)" + local dir="$(pwd)" + cdto_pbs-root + git add "$dir" + git commit -m "$msg" +} + +main "$@" diff --git a/pbs-plumb-shlib b/pbs-plumb-shlib index c51ddd0..ccbdffb 100644 --- a/pbs-plumb-shlib +++ b/pbs-plumb-shlib @@ -16,6 +16,10 @@ gitroot() { git rev-parse --show-toplevel } +gitbranch() { + git rev-parse --abbrev-ref HEAD +} + have_file() { local file=$1 if in_git; then -- cgit v1.1-4-g5e80