usage() { echo "usage: git now grep [--patch|-p] [--stat|-s] [--mine|-m] []" } cmd_default() { parse_args "$@" if [ -n "$BASE_BRANCH" ]; then WORKING_BRANCH=$(git_current_branch) COMMON_ANCESTOR_COMMIT=`git merge-base ${BASE_BRANCH} ${WORKING_BRANCH}` git log${ARGS} ${COMMON_ANCESTOR_COMMIT}.. --pretty=format:"%h - %an, %ar : %s" --grep="${PREFIX}" else git log${ARGS} --pretty=format:"%h - %an, %ar : %s" --grep="${PREFIX}" fi } parse_args() { # parse options DEFINE_boolean 'patch' false 'generate diff in patch format' 'p' DEFINE_boolean 'stat' false 'generate diffstat instead of patch' 's' DEFINE_boolean 'mine' false 'limit git-now commits by my name' 'm' FLAGS "$@" || exit $? eval set -- "${FLAGS_ARGV}" # read arguments into global variables BASE_BRANCH=$1 ARGS= if flag patch; then ARGS="${ARGS} -p" fi if flag stat; then ARGS="${ARGS} --stat" fi if flag mine; then AUTHOR=$(escape `git config --get user.name`) ARGS="${ARGS} --author=$AUTHOR" fi } cmd_help() { usage exit 0 } # vim: set ff=unix ft=sh :