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

Re: [PATCH/alternative/raw and rough] setup.c: denote repo wide pathspecs by ':'

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Mar 2, 2011, 13:12 UTC
Message-ID
<4D6E4246.5080407@drmicha.warpmail.net>
In-Reply-To
<AANLkTimPGxzP+XfX8Ng5U_4UnPWZCFLQ-3rP4oPTE3o+@mail.gmail.com>
Nguyen Thai Ngoc Duy venit, vidit, dixit 02.03.2011 13:57:
Show 17 quoted lines
> On Wed, Mar 2, 2011 at 7:34 PM, Sverre Rabbelier <srabbelier@gmail.com> wrote:
>> Heya,
>>
>> On Tue, Mar 1, 2011 at 16:01, Michael J Gruber <git@drmicha.warpmail.net> wrote:
>>> I have to say I'm really excited about how transparently this works
>>> across all kinds of commands, and how suggestive this is with rev:path
>>> in mind.
>>
>> I like it, especially considering how small the impact on the codebase
>> is. The downside is (once again) backwards compatibility though, I
>> haven't heard much on how to address that, other than "just quote it"
>> (which _I_ think is fine, people with filenames that start with fancy
>> characters are probably used to quoting them anyway)
> 
> Yeah. And if this is accepted, the "git add -u (without dot)" issue
> may cool down. I personally don't mind typing "git add -u :" (or "git
> add -u :/").
Why not even ":)"

Seriously, I'm glad this is gaining support. As for the notation, I tried to take several things into account, which is only possible by compromising somewhat on some:

- usability (as short as possible - 1 char optimum, 2 at most)
- suggestiveness, e.g. ":path" like in "rev:path" in line with git
usage, or "/path" in line with unix usage (although this has the wrong
connotation of being anchored at root)
- backward compatibility (new code does not misinterpret old notation)
- msysgit compatibility (I think "/" has issues)
- disambiguation from other notation (notably rev:path)

I ended up compromising slightly on the last one. Note that this does not introduce additional ambiguities for existing use cases[*], only for the new notation, i.e. commands expecting "treeish pathspec" need a helping double dash when they are feed the new :pathspec without a treeish.

Michael

[*] I keep forgetting that some people may have files whose names begin with ":". They are ambiguous now already with "treeish pathspec" commands, but not with "pathspec" commands. The latter would change.

Previous: Nguyen Thai Ngoc DuyNext: Junio C Hamano
Message 27 of 46 in “git-grep to operate across who repository and not just CWD?”
  1. David ChantersFeb 28, 2011
  2. Michael J GruberFeb 28, 2011
  3. Jay SoffianFeb 28, 2011
  4. Junio C HamanoFeb 28, 2011
  5. Junio C HamanoFeb 28, 2011
  6. Phil HordFeb 28, 2011
  7. Michael J GruberMar 1, 2011
  8. Nguyen Thai Ngoc DuyMar 1, 2011
  9. Michael J GruberMar 1, 2011
  10. Nguyen Thai Ngoc DuyMar 1, 2011
  11. Nguyen Thai Ngoc DuyMar 1, 2011
  12. 0/2 grep --full-treeMichael J Gruber, Mar 1, 2011
  13. 1/2 grep: --full-treeMichael J Gruber, Mar 1, 2011
  14. 2/2 grep: make --full-tree work with pathspecsMichael J Gruber, Mar 1, 2011
  15. Junio C HamanoMar 1, 2011
  16. setup.c: denote repo wide pathspecs by ':'Michael J Gruber, Mar 1, 2011
  17. Nguyen Thai Ngoc DuyMar 1, 2011
  18. Michael J GruberMar 1, 2011
  19. Nguyen Thai Ngoc DuyMar 1, 2011
  20. Michael J GruberMar 1, 2011
  21. Nguyen Thai Ngoc DuyMar 1, 2011
  22. Junio C HamanoMar 1, 2011
  23. Michael J GruberMar 1, 2011
  24. Junio C HamanoMar 1, 2011
  25. Sverre RabbelierMar 2, 2011
  26. Nguyen Thai Ngoc DuyMar 2, 2011
  27. Michael J GruberMar 2, 2011
  28. Junio C HamanoMar 2, 2011
  29. Michael J GruberMar 2, 2011
  30. Miles BaderMar 3, 2011
  31. Junio C HamanoMar 3, 2011
  32. Phil HordMar 3, 2011
  33. Michael J GruberMar 3, 2011
  34. Phil HordMar 1, 2011
  35. James PickensMar 1, 2011
  36. Nguyen Thai Ngoc DuyMar 2, 2011
  37. Phil HordMar 3, 2011
  38. Michael J GruberMar 3, 2011
  39. Michael J GruberMar 1, 2011
  40. Phil HordMar 1, 2011
  41. pathspec: reserve some letters after a colon pathspecNguyễn Thái Ngọc Duy, Mar 23, 2011
  42. Junio C HamanoMar 23, 2011
  43. Michael J GruberMar 24, 2011
  44. Nguyen Thai Ngoc DuyMar 24, 2011
  45. Junio C HamanoMar 24, 2011
  46. Junio C HamanoMar 24, 2011

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.