> On 13/05/2018 00:03, Duy Nguyen wrote: > > > On Sun, May 13, 2018 at 4:23 AM, Dannier Castro L <danniercl@xxxxxxxxx> wrote: > >> For GIT new users, this complicated versatility of <checkout> could > >> be very confused, also considering that actually the flag '--' is > >> completely useless (added or not, there is not any difference for > >> this command), when the same program messages promote the use of > >> this flag. > > I would like an option to revert back to current behavior. I'm not a > > new user. I know what I'm doing. Please don't make me type more. > > > > And '--" is not completely useless. If you have <file> and <branch> > > with the same name, you have to give "--" to to tell git what the > > first argument means. > > Sure Duy, you're right, probably "completely useless" is not the correct > definition, No, "completely useless" is just plain wrong. > even according with the code I didn't find another useful > case that is not file and branch with the same name. The optional disambiguating doubledash is the standard way to erm, well, to disambiguate whatever there is to disambiguate. Not only refs and filenames, but also e.g. options and filenames: $ git checkout --option-looking-file error: unknown option `option-looking-file' usage: git checkout [<options>] <branch> <...> $ git checkout -- --option-looking-file error: pathspec '--option-looking-file' did not match any file(s) known to git. Note that this is not at all specific to Git, many other programs support the optional disambiguating doubledash as well: $ touch --option-looking-file touch: unrecognized option '--option-looking-file' Try 'touch --help' for more information. $ touch -- --option-looking-file $ ls --option-looking-file ls: unrecognized option '--option-looking-file' Try 'ls --help' for more information. $ ls -- --option-looking-file --option-looking-file Please do not make it mandatory.