X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/a14137fd1d5f5ee32d38d5529d5e7bb471e97fb3..6cfdf9d7b757f247a38c3b3513fb7956e6931b45:/vcsh?ds=inline diff --git a/vcsh b/vcsh index d1283e4..da71ab8 100755 --- a/vcsh +++ b/vcsh @@ -24,7 +24,7 @@ basename() { } SELF=$(basename $0) -VERSION='1.20130829' +VERSION='1.20130909.git-HEAD' fatal() { echo "$SELF: fatal: $1" >&2 @@ -83,6 +83,10 @@ fi [ -z "$VCSH_GITIGNORE" ] && VCSH_GITIGNORE='exact' [ -z "$VCSH_WORKTREE" ] && 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 +fi + if [ ! "x$VCSH_WORKTREE" = 'xabsolute' ] && [ ! "x$VCSH_WORKTREE" = 'xrelative' ]; then fatal "'\$VCSH_WORKTREE' must equal 'absolute', or 'relative'" 1 fi @@ -361,7 +365,11 @@ write_gitignore() { file="$new" done; done | sort -u) - tempfile=$(mktemp) || fatal "could not create tempfile" 51 + + # 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 + echo '*' > "$tempfile" || fatal "could not write to '$tempfile'" 57 for gitignore in $gitignores; do echo "$gitignore" | sed 's@^@!/@' >> "$tempfile" || fatal "could not write to '$tempfile'" 57 @@ -382,10 +390,6 @@ write_gitignore() { fatal "could not move '$tempfile' to '$VCSH_BASE/.gitignore.d/$VCSH_REPO_NAME'" 53 } -if [ ! "x$VCSH_GITIGNORE" = 'xexact' ] && [ ! "x$VCSH_GITIGNORE" = 'xnone' ] && [ ! "x$VCSH_GITIGNORE" = 'xrecursive' ]; then - fatal "'\$VCSH_GITIGNORE' must equal 'exact', 'none', or 'recursive'" 1 -fi - if [ "$1" = 'clone' ]; then [ -z "$2" ] && fatal "$1: please specify a remote" 1 export VCSH_COMMAND="$1"