On Wed, 22 Nov 2017, Kevin Daudt wrote: > On Wed, Nov 22, 2017 at 06:19:23AM -0500, Robert P. J. Day wrote: > > On Wed, 22 Nov 2017, Junio C Hamano wrote: > > > > > "Robert P. J. Day" <rpjday@xxxxxxxxxxxxxx> writes: > > > > > > > git repo with a file called "Gemfile", so i created a branch called > > > > "Gemfile", and when i ran: > > > > > > > > $ git checkout Gemfile > > > > > > > > git switched to the branch. so even with the ambiguity, git > > > > obviously has some sort of precedence order it checks. so what are > > > > the rules here? > > > > > > 31b83f36 ("Merge branch 'nd/checkout-disambiguation'", 2016-09-26) > > > should have made it clear that the "checkout" command has a > > > convenience special case. > > > > ok, then i'm still curious about git examples that actually fail due > > to an inability to disambiguate. > > > > rday > > Here is an example with git diff > > $ git init git-disambiguate > $ cd git-disambiguate > $ echo 1 >foo && git add foo && git commit -m foo > $ git branch foo > $ echo 2 >>foo && git add foo && git commit -m foo2 > $ echo 3 >>foo > > $ git diff foo > fatal: ambiguous argument 'foo': both revision and filename > Use '--' to separate paths from revisions, like this: > 'git <command> [<revision>...] -- [<file>...]' > > $ git diff HEAD foo > fatal: ambiguous argument 'foo': both revision and filename > Use '--' to separate paths from revisions, like this: > 'git <command> [<revision>...] -- [<file>...]' > > $ git diff HEAD -- foo > diff --git a/foo b/foo > index 1191247..01e79c3 100644 > --- a/foo > +++ b/foo > @@ -1,2 +1,3 @@ > 1 > 2 > +3 > > $ git diff HEAD foo -- > diff --git a/foo b/foo > index 1191247..d00491f 100644 > --- a/foo > +++ b/foo > @@ -1,2 +1 @@ > 1 > -2 fair enough, i'll go back and reword to refer to actual disambiguation errors. rday -- ======================================================================== Robert P. J. Day Ottawa, Ontario, CANADA http://crashcourse.ca Twitter: http://twitter.com/rpjday LinkedIn: http://ca.linkedin.com/in/rpjday ========================================================================