X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/0083a3e21e81a132a150c1626b4b58d53f73a3c8..e6e78161ee7676c885a9bd6d6460afe528382bc7:/vcsh diff --git a/vcsh b/vcsh index f987fbf..b585f5c 100755 --- a/vcsh +++ b/vcsh @@ -18,7 +18,8 @@ basename() { # Implemented in shell to avoid spawning another process local file - file="${1##*/}" + file="${1%/}" + file="${file##*/}" [ -z "$2" ] || file="${file%$2}" echo "$file" } @@ -163,7 +164,7 @@ clone() { done [ "$VCSH_CONFLICT" = '1' ] && fatal "will stop after fetching and not try to merge! - Once this situation has been resolved, run 'vcsh run $VCSH_REPO_NAME git pull' to finish cloning.\n" 17 + Once this situation has been resolved, run 'vcsh run $VCSH_REPO_NAME git pull' to finish cloning." 17 git merge origin/master hook post-clone retire @@ -288,7 +289,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 } @@ -419,6 +420,7 @@ if [ "$VCSH_COMMAND" = 'clone' ]; then [ -z "$2" ] && fatal "$VCSH_COMMAND: please specify a remote" 1 GIT_REMOTE="$2" [ -n "$3" ] && VCSH_REPO_NAME="$3" || VCSH_REPO_NAME=$(basename "$GIT_REMOTE" .git) + [ -z "$VCSH_REPO_NAME" ] && fatal "$VCSH_COMMAND: could not determine repository name" 1 export VCSH_REPO_NAME export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git" elif [ "$VCSH_COMMAND" = 'version' ]; then