Actually, your shell did that. I don't think git can tell that the user
typed something different and the shell converted it because it's a local
path.
It's hard to evaluate proposals for extending cases from inaction to some
action because in trying to keep it deterministic, you have to decide
whether future, possibly more compelling, extensions might want to overlap
the space of commands. It's more conservative to have the command suggest
some things the user might have meant, even if that's sometimes a list of
one, so that the user doesn't come to rely on behavior that is only
deterministic within a vaguely-delineated area.
I think that it's far enough along before a user types "git merge ..."
that we've got a chance to give a suggestive error message instead of just
doing something, particularly if the thing we might do might be wrong and
either annoying to clean up or slow. (OTOH, "git clone ..." had better
work, and I think it does)
And I agree strongly with the need for the error messages in the cases
where the user was closer to be clear and suggest the right thing.
On the other hand, there's a conflict between having git do what the user
seems to want it to do and having git's commands delineated by concepts
that users need to know, such that users will be assisted in learning
those concepts (and therefore have an easier time getting the results they
expect from git consistantly). For example, "merge" works on information
you have within the repository, and "fetch" brings information into the
repository. In some cases, we could guess that the user has typed "merge"
but wants to bring information into the repository, but we won't always be
right, and we want the user to learn how to tell git unambiguous things.
I think the market segment that most git developers would really like to
get is the projects that they work on aside from git. There's a
substantial itch to make git sufficiently compelling that nobody would
make them use CVS/SVN/Perforce/ClearCase/etc. This has a significant
usability-to-new-users component, and so there's more attention to that
than in projects where use of the project doesn't require getting
particular other people to use it.
-Daniel
*This .sig left intentionally blank*
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html