diff --git a/TODO b/TODO
index d273f5debc50805db1c9ac947dff089cc7c66088..be321104831cb33f6863e3edcc1f95338b0b9557 100644
--- a/TODO
+++ b/TODO
@@ -4,5 +4,5 @@
* use PROMPT_SUBST in my own prompt instead of calling buildPS1 again to make this work for everyone, not just me
* if we are within a vcsh already, only help, run and exit should be allowed
* ^d re-binding does fail weirdly once i vcsh exit
-* allow vcsh clone <repo>; without <target>
* set git config core.worktree $HOME or ../../../.. ?
+* vcsh clone fails when remote is empty
diff --git a/vcsh b/vcsh
index c26b50a6b7465ed01d5b0181983e2e407bf6687b..0bf5a1408bfab5d2f51f6abfacd2c0d0265a255d 100755
--- a/vcsh
+++ b/vcsh
@@ -19,7 +19,7 @@ help() {
init Initialize a new repository
clone <remote>
- <repo> Clone from an existing repository
+ [<repo>] Clone from an existing repository
exit Exit vcsh mode" >&2
}
@@ -90,7 +90,9 @@ elif [ "$1" = 'use' ]; then
elif [ "$1" = 'clone' ]; then
export GIT_REMOTE="$2"
- export REPO_NAME="$3"
+ REPO_NAME="$3"
+ [[ -z $REPO_NAME ]] && REPO_NAME=$(basename $GIT_REMOTE .git)
+ export REPO_NAME
export GIT_DIR="$VCSH_BASE/$REPO_NAME.git"
init