On Wed, Mar 18 2015 at 04:29:44 AM, Sundararajan R <dyoucme@xxxxxxxxx> 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 <gitster@xxxxxxxxx> wrote: >> Junio C Hamano <gitster@xxxxxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html