Santi Béjar <sbejar@xxxxxxxxx> writes: > Signed-off-by: Santi Béjar <sbejar@xxxxxxxxx> > diff --git a/git-clone.sh b/git-clone.sh > index 0d686c3..2efb947 100755 > --- a/git-clone.sh > +++ b/git-clone.sh > @@ -210,11 +210,14 @@ if base=$(get_repo_base "$repo"); then > then > local=yes > fi > +elif [ -f "$repo" ] ; then > + case "$repo" in /*);; *) repo="$PWD/$repo" ; esac > fi > > dir="$2" > # Try using "humanish" part of source repo if user didn't specify one > [ -z "$dir" ] && dir=$(echo "$repo" | sed -e 's|/$||' -e 's|:*/*\.git$||' -e 's|.*[/:]||g') > +[ -f "$dir" ] && dir=$(expr "$repo" : '.*/\([^/]*\)\.[^/]*') > [ -e "$dir" ] && die "destination directory '$dir' already exists." > [ yes = "$bare" ] && unset GIT_WORK_TREE > [ -n "$GIT_WORK_TREE" ] && [ -e "$GIT_WORK_TREE" ] && What is this [ -f "$dir" ] line doing? The purpose of these lines is: - The user (might have) said "clone to $2"; - If the user didn't, then set dir to humanish part; - If that exists, we barf. I do not see any valid reason for an additional logic in this sequence when adding a new clone _source_ type. The check to see if "$dir" _exists_ is even worse. If the user said "clone _to_ this", then we would not have invented $dir based on the $repo (which is what the user said "clone _from_") but used whatever name the user has given us. The existing check to barf "Hey, that explicit location you told me to clone to is WRONG!!!" should not be broken. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html