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

Re: [PATCH 2/4] add smudge-to-file and clean-from-file filter configuration

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 17, 2016, 16:09 UTC
Message-ID
<xmqq60t73igm.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<20160617124707.GB24025@kitenet.net>
Joey Hess <id@joeyh.name> writes:
>> Do you make any promises that %p is a seekable file?
>
> Yes, %p is a regular file and so is seekable, statable, etc.

I wonder if we prefer not to make this customizable (i.e. not having to use'%p'). Unlike '%f' that is optional, smudgeTo and cleanFrom "filters" are not filters and MUST read from the path given and not from any other paths.

A misconfigured smudgeTo filter that uses %f would overwrite a wrong file when used with checkout-index --prefix=<there>, right?

The only thing '%p' buys is that a "filter" could be written in such a way that takes the pathname at arbitrary place on the command line. A command line that does not have '%p' anywhere is invalid, which is quite different from how '%f' behaves.

Would an interface that always appends the pathname at the end of the command line string work? E.g.

	[filter "foo"] smugeToFile = cmd --from-file

would run "cmd --from-file PATH" when Git wants it to read from PATH, and

	[filter "bar"] smugeToFile = sh -c 'cmd --from-file="$0"'
would run
	sh -c 'cmd --from-file="$0"' PATH
which in turn becomes 'cmd --from-file=PATH'.
Or something like that.
Previous: Joey HessNext: Junio C Hamano
Message 10 of 22 in “extend smudge/clean filters with direct file access”
  1. 0/4 extend smudge/clean filters with direct file accessJoey Hess, Jun 16, 2016
  2. 3/4 use clean-from-file in git addJoey Hess, Jun 16, 2016
  3. 2/4 add smudge-to-file and clean-from-file filter configurationJoey Hess, Jun 16, 2016
  4. Junio C HamanoJun 16, 2016
  5. Joey HessJun 17, 2016
  6. Junio C HamanoJun 17, 2016
  7. Eric SunshineJun 17, 2016
  8. Michael J GruberJun 17, 2016
  9. Joey HessJun 17, 2016
  10. Junio C HamanoJun 17, 2016
  11. Junio C HamanoJun 17, 2016
  12. Joey HessJun 17, 2016
  13. Joey HessJun 17, 2016
  14. Junio C HamanoJun 17, 2016
  15. 1/4 clarify %f documentationJoey Hess, Jun 16, 2016
  16. Junio C HamanoJun 16, 2016
  17. Joey HessJun 17, 2016
  18. Junio C HamanoJun 17, 2016
  19. Joey HessJun 17, 2016
  20. Junio C HamanoJun 17, 2016
  21. 4/4 use smudge-to-file in git checkout etcJoey Hess, Jun 16, 2016
  22. Joey HessJun 16, 2016

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.