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

Re: Git archiving only branch work

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 13, 2014, 21:48 UTC
Message-ID
<xmqq61eizs9v.fsf@gitster.dls.corp.google.com>
In-Reply-To
<20141113213937.GD7563@peff.net>
Jeff King <peff@peff.net> writes:
> I agree they are technically orthogonal, but I cannot think of a case
> where I have ever generated actual _pathspecs_, which might have
> wildcards, and needed to use "-z". The point of using "-z" is that you
> do not know what crap you are feeding.
You do not have to generate, i.e. you should be allowed to do this:
    $ git cmd --stdin -z <list-of-patterns

And this is not about "flexibility". Unless your plan is to forbid a corner case you do not anticipate and always disable pathspec globbing, you would need to say something like:

	--literal-pathspecs::
        	All Git command lines take dashed options first and
		then revs and then "pathspecs".  They are usually
		used to select the paths using glob(1)-like
		matching, but with this option they must match the
		paths byte-for-byte.
                Except when "--stdin -z" is used, in which case you
                need to give "--no-literal-pathspecs" if you want to
                feed patterns.

Which is awkward. And "--stdin -z" is most likely used in scripts; we are not forcing people to keep typing --literal-pathspecs by leaving them orthogonal *and* people do not have to remember one more exception (the default of --literal-pathspecs is flipped only when --stdin -z is in use) to the rule.

Previous: Jeff KingNext: Jeff King
Message 10 of 13 in “Git archiving only branch work”
  1. Graeme GeldenhuysNov 13, 2014
  2. Peter KreftingNov 13, 2014
  3. Duy NguyenNov 13, 2014
  4. Junio C HamanoNov 13, 2014
  5. Jeff KingNov 13, 2014
  6. Junio C HamanoNov 13, 2014
  7. Jeff KingNov 13, 2014
  8. Junio C HamanoNov 13, 2014
  9. Jeff KingNov 13, 2014
  10. Junio C HamanoNov 13, 2014
  11. Jeff KingNov 14, 2014
  12. Junio C HamanoNov 14, 2014
  13. Thomas KochNov 13, 2014

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.