sha1_name.c: fix parsing of ":/token" syntax
commitf7bff00314f473be1ef6c166e91447fabd1822d8
authorJunio C Hamano <gitster@pobox.com>
Mon, 2 Aug 2010 21:37:06 +0000 (2 14:37 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 2 Aug 2010 21:40:48 +0000 (2 14:40 -0700)
treebfd809d20098f6284ff42754bc7b26e33495f3d3
parent593ce2bea5dad436e87b5dd37c205961d73feae9
sha1_name.c: fix parsing of ":/token" syntax

The parser tried to clean up the object flags it used while finding
commits with matching string, but was not doing a very good job at it.

This caused "checkout -b new ':/token'", which internally tries to parse
':/token' twice as an object name, to fail when the commit in question
was reachable from only one ref.

The mask bits given to pop_most_recent_commit(&list, MASK) means "I have
already been on the list to be processed, so please do not place me again
even if I am found to be a parent of some other commit on the list."  So
mark them when we add them to the list at the beginning.

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