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

refspecs with '*' as part of pattern

From
Jacob Keller <jacob.keller@gmail.com>
Date
Jul 6, 2015, 18:31 UTC
Message-ID
<CA+P7+xoosLG3J5uUVakzwYoxVARs-NH4BJBtsMgw2NB39vyE6A@mail.gmail.com>
Hi,

I've been looking at the refspecs for git fetch, and noticed that globs are partially supported. I wanted to use something like:

refs/tags/some-prefix-*:refs/tags/some-prefix-*

as a refspec, so that I can fetch only tags which have a specific prefix. I know that I could use namespaces to separate tags, but unfortunately, I am unable to fix the tag format. The specific repository in question is also generating several tags which are not relevant to me, in formats that are not really useful for human consumption. I am also not able to fix this less than useful practice.

However, I noticed that refspecs only support * as a single component. The match algorithm works perfectly fine, as documented in abd2bde78bd9 ("Support '*' in the middle of a refspec")

What is the reason for not allowing slightly more arbitrary expressions? Obviously no more than one *...

It seems like the "strict" requirements, as in the above commit, but i an unable to find what these requirements are, and why they can't allow more expressions.

It's possible that users might not expect it to work, but maybe it could be configured behind an extra option to prevent accidental use? I think it's quite intuitive though.

Maybe because it allows some shenanagins to rename tags, but... that's really the user's fault... Another reason for putting this behind an option possibly?

Personally I would like to be able to use this as it allows much more fine grained control over what I fetch, and lets me stick with the un-namespaced tags which are something I can't change.

If this isn't something that can be done I would appreciate a good explanation of what it might break and why it's a bad idea...

Regards, Jake

Next: Junio C Hamano
Message 1 of 8 in “refspecs with '*' as part of pattern”
  1. Jacob KellerJul 6, 2015
  2. Junio C HamanoJul 6, 2015
  3. Jacob KellerJul 6, 2015
  4. Daniel BarkalowJul 7, 2015
  5. Jacob KellerJul 7, 2015
  6. Jacob KellerJul 7, 2015
  7. Junio C HamanoJul 7, 2015
  8. Jacob KellerJul 7, 2015

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.