Re: [v3 PATCH 1/2] reset: add '-' shorthand for '@{-1}'
From: Kenny Lee Sin Cheong <hidden>
Date: 2016-06-15 23:04:12
On Wed, Mar 18 2015 at 04:29:44 AM, Sundararajan R [off-list ref] wrote:
Teaching reset the - shorthand involves checking if any file named '-' exists.
check_filename() is used to perform this check.
When the @{-1} branch does not exist then it can be safely assumed that the
user is referring to the file '-',if any. If this file exists then it is reset or else
a bad flag error is shown.
But if the @{-1} branch exists then it becomes ambiguous without the explicit
'--' disambiguation as to whether the user wants to reset the file '-' or if
he wants to reset the working tree to the previous branch. Hence the program dies
with a message about the ambiguous argument.I might be wrong but I think any pathspec that begins with "-" needs to be preceded by either a "--" marker or be specified as "./-filename", else verify_filename just die. Therefore you would need to do something like git reset ./- if you wanted to reset a file. I don't know if given simply "-" as filename is desired since options starts with "-". I don't know if you saw but Junio posted a while ago about about allowing "-" as a stand-in everywhere a revision was allowed. He updated a version on pu : "d40f108d"
On Tue, Mar 17 2015 at 02:49:48 AM, Junio C Hamano [off-list ref] wrote:quoted
Junio C Hamano [off-list ref] writes: if (try to see if it is a revision or regvision range) { /* if failed ... */ if (starts with '-') { do the option thing; continue; } /* args must be pathspecs from here on */ check the '--' disambiguation; add pathspec to prune-data; } else { got_rev_arg = 1; }
See $gmane/265672