Re: "git checkout foo" is getting confused by folder named "foo"
- From
- Jona Christopher Sahnwaldt <jc@sahnwaldt.de>
- Date
- Sep 26, 2013, 21:25 UTC
- Message-ID
- <CAEQewpp9tCAB_N8jzyeUC05fhHNBsgPyLyTqsRaDFMsq5JdqUg@mail.gmail.com>
- In-Reply-To
- <vpqzjr0oemb.fsf@anie.imag.fr>
On 25 September 2013 22:01, Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> wrote:
Show 18 quoted lines
> Jona Christopher Sahnwaldt <jc@sahnwaldt.de> writes: > >> Yes, I think the rules for the "short form" (the guessing when there's >> no --) should be made simpler, or maybe the guessing should be dropped >> altogether. I don't know. I don't know git well enough to be able to >> be more specific. I just find the current behavior very confusing. > > It can hardly be "simpler" (in the sense "behavior that can be described > with fewer words"), but it could be tightened to be safer. > > When a remote branch $foo exists, a local branch $foo does not, and a > file $foo does, then > > git checkout $foo > > rather likely means "I want to use git checkout's DWIM and create local > branch $foo", but it currently means to Git "checkout file foo from the > index". It would make sense to die here, and require the use of --.
That sounds good. A rule like "when A is true, B is false, and C is true, then X" is probably too complex to be useful. It's probably better to give up and say "sorry, I DKWYM (don't know what you mean)". :-)
There are a few more ideas, opinions, discussions about all this at http://stackoverflow.com/questions/18833617/why-does-git-checkout-remote-branchname-not-create-new-tracking-branch especially in the comments.
Cheers, JC
Show 6 quoted lines
> > No time to write a patch for this. Any volunteer? > > -- > Matthieu Moy > http://www-verimag.imag.fr/~moy/