git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Have a flag to stop the option parsing at the first argument.

From
Wincent Colaiuta <win@wincent.com>
Date
Dec 17, 2007, 13:57 UTC
Message-ID
<ECF98EB9-DE57-4DFF-9F5B-A7FEC3BEB022@wincent.com>
In-Reply-To
<Pine.LNX.4.64.0712171328020.9446@racer.site>
El 17/12/2007, a las 14:30, Johannes Schindelin escribió:
Show 18 quoted lines
>> But leaving -p aside, will you oppose any patches that make it  
>> possible
>> for people to write stuff like:
>>
>> git init --bare
>>
>> Personally, I think this is an obvious usability improvement worth
>> striving for. Given that "git --bare init" will continue to work  
>> under
>> what I'm proposing, I really can't see any worthwhile argument  
>> against
>> it. Because we're talking about a UI improvement for newcomers at no
>> cost to old timers.
>
> My reasoning is like as for "-p".  "--bare" is not special to  
> "init".  It
> makes git not guess, but work on the current directory as a bare
> repository.

Yes, I know what --bare does. It seems to me your argument is as follows:

- "git subcommand" is actually "git" (which does setup) followed by  
"git-subcommand" (which performs an action)[*]
- the newcomer should be taught this, and know which options go  
between "git" and "subcommand" and which options go after
- even though there is a straightforward way to have "git subcommand  
specials args" work without breaking compatibility, you oppose it on  
the grounds that users should know how Git works
- the fact that CVS also has some options that go before the  
subcommand makes it OK for git to do the same
- even though we could have a better UI that didn't require any of  
this explanation at all, we should keep the UI we have seeing as it is  
easy to explain
And possibly some combination of these two as well:
- requiring arguments to be inserted between "git" and "subcommand"  
doesn't undermine the effort to make git appear like a single tool to  
users
- the effort to move to dashless forms has nothing to do with  
presenting git as a single tool to users

Well, I basically disagree with you on most of these points; all but the first one(*), really. I think it's fairly clear what both you and I think on this and I'm not very interested in debating it further; I am more interested in hearing other people's points on this to get a feeling for whether there is a consensus (or lack thereof).

Cheers, Wincent

Previous: Johannes SchindelinNext: Johannes Sixt
Message 22 of 24 in “diff topic tweaks”
  1. 0/3 diff topic tweaksWincent Colaiuta, Dec 14, 2007
  2. 1/3 Revert changes and extend diff option documentationWincent Colaiuta, Dec 14, 2007
  3. 2/3 Use shorter error messages for whitespace problemsWincent Colaiuta, Dec 14, 2007
  4. 3/3 Test interaction between diff --check and --exit-codeWincent Colaiuta, Dec 14, 2007
  5. Junio C HamanoDec 16, 2007
  6. git.c option parsing (was: [PATCH 1/3] Revert changes and extend diff option documentation)Wincent Colaiuta, Dec 17, 2007
  7. Junio C HamanoDec 17, 2007
  8. Wincent ColaiutaDec 17, 2007
  9. Pierre HabouzitDec 17, 2007
  10. Pierre HabouzitDec 17, 2007
  11. Have a flag to stop the option parsing at the first argument.Pierre Habouzit, Dec 17, 2007
  12. Johannes SchindelinDec 17, 2007
  13. Wincent ColaiutaDec 17, 2007
  14. Pierre HabouzitDec 17, 2007
  15. Johannes SchindelinDec 17, 2007
  16. Wincent ColaiutaDec 17, 2007
  17. Johannes SchindelinDec 17, 2007
  18. Wincent ColaiutaDec 17, 2007
  19. Johannes SchindelinDec 17, 2007
  20. Wincent ColaiutaDec 17, 2007
  21. Johannes SchindelinDec 17, 2007
  22. Wincent ColaiutaDec 17, 2007
  23. Johannes SixtDec 17, 2007
  24. Pierre HabouzitDec 17, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.