X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/72226a5ab6a76cb825b29f1079f4ae57a022437d..4503574f82e5f3ed2581511d0a2d8324b7e091f9:/vcsh?ds=inline diff --git a/vcsh b/vcsh index 60d0407..0c43fd3 100755 --- a/vcsh +++ b/vcsh @@ -53,7 +53,7 @@ source_all() { # Read configuration and set defaults if anything's not set [ -n "$VCSH_DEBUG" ] && set -vx -[ -z "$XDG_CONFIG_HOME" ] && XDG_CONFIG_HOME="$HOME/.config" +: ${XDG_CONFIG_HOME:=$HOME/.config} # Read configuration files if there are any [ -r "/etc/vcsh/config" ] && . "/etc/vcsh/config" @@ -69,11 +69,11 @@ fi [ -n "$VCSH_DEBUG" ] && set -vx # Read defaults -[ -z "$VCSH_REPO_D" ] && VCSH_REPO_D="$XDG_CONFIG_HOME/vcsh/repo.d" -[ -z "$VCSH_HOOK_D" ] && VCSH_HOOK_D="$XDG_CONFIG_HOME/vcsh/hooks-enabled" -[ -z "$VCSH_BASE" ] && VCSH_BASE="$HOME" -[ -z "$VCSH_GITIGNORE" ] && VCSH_GITIGNORE='exact' -[ -z "$VCSH_WORKTREE" ] && VCSH_WORKTREE='absolute' +: ${VCSH_REPO_D:=$XDG_CONFIG_HOME/vcsh/repo.d} +: ${VCSH_HOOK_D:=$XDH_CONFIG_HOME/vcsh/hooks-enabled} +: ${VCSH_BASE:=$HOME} +: ${VCSH_GITIGNORE:=exact} +: ${VCSH_WORKTREE:=absolute} if [ ! "x$VCSH_GITIGNORE" = 'xexact' ] && [ ! "x$VCSH_GITIGNORE" = 'xnone' ] && [ ! "x$VCSH_GITIGNORE" = 'xrecursive' ]; then fatal "'\$VCSH_GITIGNORE' must equal 'exact', 'none', or 'recursive'" 1 @@ -360,9 +360,8 @@ write_gitignore() { # Contrary to GNU mktemp, mktemp on BSD/OSX requires a template for temp files # Use the template GNU mktemo defaults to - # 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 + # The downside to this is that we need to account for unset TMPDIR + tempfile=$(mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX") || fatal "could not create tempfile: '${tempfile}'" 51 echo '*' > "$tempfile" || fatal "could not write to '$tempfile'" 57 for gitignore in $gitignores; do