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

Re: [PATCH] pathspec: reserve some letters after a colon pathspec

From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
Date
Mar 24, 2011, 07:49 UTC
Message-ID
<AANLkTinjdi3+qcQxcBYj8SdQgbZYP=KiLwxM3Vq0c1Er@mail.gmail.com>
In-Reply-To
<4D8AEF9B.9050001@drmicha.warpmail.net>
2011/3/24 Michael J Gruber <git@drmicha.warpmail.net>:
Show 15 quoted lines
>> Here is a weather-baloon.  I will use colon below as the magic introducer,
>> as I don't care very deeply about the choice of it.
>>
>>  - "^:([^\w\d]+)(.*)$", that is "a magic introducer followed by a sequence
>>    of non-alnum followed by the remainder" means that the part that is
>>    given to the matching engine is $2, and each gibberish character in $1
>>    determines what magic is requested when the matching engine does its
>>    work.  Among the gibberish that can be in $1, we currently would want
>>    to support:
>>
>>     . '/' denotes that $2 is relative to root of the working tree, i.e. do
>>       not add 'prefix' to it at the left.
>>
>>     . '!' denotes that the matching with $2 should not honor globbing.
>>
And maybe:
    . ':' to reach the superproject if user's inside a subproject. So
'::/foo' means foo at superproject while ':/foo' means foo in the
current project, both at root.
>>  ...
>
> I like this a lot, especially the fact that we would have descriptive
> long names as well as short versions for a subset!
I'll leave it to you to come up with something we can test :)
Show 6 quoted lines
> Two remarks:
>
> :(symlink|submodule|directory|file): would fit into that scheme (for use
> in .gitattributes), though I'm not sure we want that for general
> pathspecs. We probably want textconv applied to :file: only by default,
> attributes to match with :file only?

It does not hurt to have generic support for everything. 'git ls-files -- :executable:' would be nice, though I'm not sure if I will ever use it.

Show 6 quoted lines
> We already have ":./cdwfile" as in "commit:./cwdfile", and this looks
> like a preexisting instance, although it is not ("commit:" gets stripped
> and "./cwdfile" is the pathspec). People will probably try something
> like "commit:/rootfile", and we may or may not want to support this.
> That particular one is easy, but "commit:full-tree:name" has a defined
> meaning now...

I think we should leave this one out. It's to address a single path. If you bring full pathspec support to it, a pathspec may resolve to multiple paths, which is unwanted. If people want pathspecs, they can do "git cmd commit -- pathspecs" most of the time.

-- 
Duy
Previous: Michael J GruberNext: Junio C Hamano
Message 44 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.