Code

DWIM "git checkout frotz" to "git checkout -b frotz origin/frotz"
authorJunio C Hamano <gitster@pobox.com>
Sun, 18 Oct 2009 07:13:47 +0000 (00:13 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sun, 18 Oct 2009 07:38:03 +0000 (00:38 -0700)
commit70c9ac2f1999b7e0c17a864235537cffe29dfea4
tree8766e1459d697f8e1916402d0dec91b41902c339
parentc6e8c8005a2b1fc4cff72d279f29178767bd1a47
DWIM "git checkout frotz" to "git checkout -b frotz origin/frotz"

When 'frotz' is not a valid object name and not a tracked filename,
we used to complain and failed this command.  When there is only
one remote that has 'frotz' as one of its tracking branches, we can
DWIM it as a request to create a local branch 'frotz' forking from
the matching remote tracking branch.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-checkout.c