> git-subtree add accepts either a refspec or a path to a repository and a
> refspec.

> With one positional option, git-subtree add simply assumes
> it's a refspec.  Is there an easy way to check whether a string is a
> proper refspec?  Even better would be a way to check if a string is a
> path to a git repository.

Do you literally mean "a path to a repository" in the above, or do
you mean "a remote that is like what is accepted by 'git fetch'"?
If you literary mean it is is a path to a git repository, you could
obviously use "cd $there && git rev-parse --git-dir" or something.

On the other hand, if you mean the command takes a remote and an
optional list of refspecs just like "git fetch" does, then I am not
sure it is a good design in the first place to allow "refspecs
only", if only to keep the interface similar to "git fetch" (you
cannot omit remote and give refspecs, as you cannot interpret
refspecs without knowing in the context of which remote they are to
be interpreted).

I would imagine you could disambiguate and default to "origin" or
something when you guessed that remote was omitted if you really
wanted to, with a syntacitical heuristics, such as "a refspec will
never have two colons in it", "a URL tends to begin with a short
alphabet word, a colon and double-slash", etc.
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to