X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/7e33e38a869989d04d12f2ef160d514041eb01e3..20e3b19c49f00cc18ad6b468c4a19a4b4275d30d:/vcsh diff --git a/vcsh b/vcsh index 98b1e6b..60d0407 100755 --- a/vcsh +++ b/vcsh @@ -15,17 +15,8 @@ # This should always be the first line of code to facilitate debugging [ -n "$VCSH_DEBUG" ] && set -vx -basename() { - # Implemented in shell to avoid spawning another process - local file - file="${1%/}" - file="${file##*/}" - [ -z "$2" ] || file="${file%$2}" - echo "$file" -} - SELF=$(basename $0) -VERSION='1.20130909.git-HEAD' +VERSION='1.20131214.git-HEAD' fatal() { echo "$SELF: fatal: $1" >&2 @@ -41,11 +32,11 @@ while getopts "c:dv" flag; do VCSH_DEBUG=1 echo "debug mode on" echo "$SELF $VERSION" - elif [ "$1" = '-v' ];then + elif [ "$1" = '-v' ]; then VCSH_VERBOSE=1 echo "verbose mode on" echo "$SELF $VERSION" - elif [ "$1" = '-c' ];then + elif [ "$1" = '-c' ]; then VCSH_OPTION_CONFIG=$OPTARG fi shift 1 @@ -256,7 +247,7 @@ list_tracked_by() { pull() { hook pre-pull for VCSH_REPO_NAME in $(list); do - echo -n "$VCSH_REPO_NAME: " + printf "$VCSH_REPO_NAME: " export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git" use git pull @@ -268,7 +259,7 @@ pull() { push() { hook pre-push for VCSH_REPO_NAME in $(list); do - echo -n "$VCSH_REPO_NAME: " + printf "$VCSH_REPO_NAME: " export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git" use git push @@ -289,7 +280,7 @@ rename() { # Now that the repository has been renamed, we need to fix up its configuration # Overwrite old name.. GIT_DIR="$GIT_DIR_NEW" - $VCSH_REPO_NAME="$VCSH_REPO_NAME_NEW" + VCSH_REPO_NAME="$VCSH_REPO_NAME_NEW" # ..and clobber all old configuration upgrade } @@ -369,7 +360,9 @@ write_gitignore() { # Contrary to GNU mktemp, mktemp on BSD/OSX requires a template for temp files # Use the template GNU mktemo defaults to - tempfile=$(mktemp tmp.XXXXXXXXXX) || fatal "could not create tempfile" 51 + # The downside to this is that we need to set TMPDIR explicitly; this may or may not be empty, so... + [ -z "$TMPDIR" ] && TMPDIR='/tmp' + tempfile=$(mktemp ${TMPDIR}/tmp.XXXXXXXXXX) || fatal "could not create tempfile: '${tempfile}'" 51 echo '*' > "$tempfile" || fatal "could not write to '$tempfile'" 57 for gitignore in $gitignores; do