reset: allow reset on unborn branch
authorMartin von Zweigbergk <martinvonz@gmail.com>
Tue, 15 Jan 2013 05:47:50 +0000 (21:47 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 15 Jan 2013 17:38:08 +0000 (09:38 -0800)
commit166ec2e96e31bac913f44823dadd6c732d353172
tree94b6fc2265b3855a39cb890b96c6f94e0789ea67
parent2f328c3d2e88230a236e3d84d2bd6de59aea578d
reset: allow reset on unborn branch

Some users seem to think, knowingly or not, that being on an unborn
branch is like having a commit with an empty tree checked out, but
when run on an unborn branch, "git reset" currently fails with:

  fatal: Failed to resolve 'HEAD' as a valid ref.

Instead of making users figure out that they should run

 git rm --cached -r .

, let's teach "git reset" without a revision argument, when on an
unborn branch, to behave as if the user asked to reset to an empty
tree. Don't take the analogy with an empty commit too far, though, but
still disallow explictly referring to HEAD in "git reset HEAD".

Signed-off-by: Martin von Zweigbergk <martinvonz@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/reset.c
t/t7106-reset-unborn-branch.sh [new file with mode: 0755]