Inconsistent behavior of the path disambiguator
- From
Dun Peal <dunpealer@gmail.com>
- Date
- Oct 29, 2010, 18:11 UTC
- Message-ID
- <AANLkTinM863uZfRxy_1BW1fnfEPsPo8A2m86=Wxh7XGd@mail.gmail.com>
Hi.
When I clone a remote that has a branch `foo`, then `git checkout foo --`, the path disamgiuator makes the operation fail. `git checkout foo` without the disambiguator works. Following that, when branch `foo` already exists, `git checkout foo --` works even with the disambiguator that caused it to fail previously.
Here's a log demonstrating a full reproduction of the bug with git 1.7.2 on Linux:
=== LOG START ===
$ mkdir origin && cd origin && git init && echo 1 >> test.txt && git add test.txt && git commit -am "First." && git branch foo Initialized empty Git repository in /home/afine/lab/gitexp/origin/origin/.git/ [master (root-commit) 6042525] First. 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 test.txt $ cd .. && git clone origin local && cd local Cloning into local... done. $ git checkout foo -- fatal: invalid reference: foo $ git checkout foo Branch foo set up to track remote branch foo from origin. Switched to a new branch 'foo' $ git checkout master Switched to branch 'master' $ git checkout foo -- Switched to branch 'foo'
=== LOG END ===
This looks like a bug.
Thanks, D