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

Re: What's cooking in git.git (Jun 2010, #04; Wed, 23)

From
Johannes Sixt <j.sixt@viscovery.net>
Date
Jun 25, 2010, 06:02 UTC
Message-ID
<4C244658.9020704@viscovery.net>
In-Reply-To
<7veifwchb6.fsf@alter.siamese.dyndns.org>
Am 6/24/2010 22:21, schrieb Junio C Hamano:
Show 11 quoted lines
> Finn Arne Gangstad <finnag@pvv.org> writes:
>> If .gitattributes is different on the different sides, or if you
>> enable autocrlf, the current repo contents may change after
>> git-to-worktree and worktree-to-git again.
> 
> IOW, g2w-then-w2g may not be an identity function.
> 
> If we were to encourage use of this codepath to wider audiences, we may
> need to have a document for people who write smudge/clean filters.  In
> order for the result to be stable, applying g2w-then-w2g once again on top
> of the result of running g2w-then-w2g on anything should be no-op, no?

I think this is implicit to some degree in the documentation, gitattributes(5):

  The content filtering is done to massage the content into a shape that
  is more convenient for the platform, filesystem, and the user to use.
  [...] the intent is that if someone unsets the filter driver
  definition, or does not have the appropriate filter program, the
  project should still be usable.
>From this I read that the content of the repository can only be in a

canonical shape; hence, the only thing that a clean filter can do is to generate the canonical shape of the data. This is, by definition, an idempotent operation (i.e., g2w(g2w(x)) == g2w(x)).

(I'm talking only about clean filters because any pair of smudge+clean filters where the clean filter cannot undo the effect of the smudge filter would be noticed immediately and be considered broken without being mentioned explicitly in the documentation.)

-- Hannes
Previous: Junio C HamanoNext: Finn Arne Gangstad
Message 15 of 24 in “What's cooking in git.git (Jun 2010, #04; Wed, 23)”
  1. Junio C HamanoJun 23, 2010
  2. Ævar Arnfjörð BjarmasonJun 23, 2010
  3. Nazri RamliyJun 24, 2010
  4. Tay Ray ChuanJun 24, 2010
  5. Finn Arne GangstadJun 24, 2010
  6. Johannes SixtJun 24, 2010
  7. Finn Arne GangstadJun 24, 2010
  8. Eyvind BernhardsenJun 24, 2010
  9. Junio C HamanoJun 24, 2010
  10. Eyvind BernhardsenJun 24, 2010
  11. Junio C HamanoJun 24, 2010
  12. Finn Arne GangstadJun 25, 2010
  13. Eyvind BernhardsenJun 25, 2010
  14. Junio C HamanoJun 25, 2010
  15. Johannes SixtJun 25, 2010
  16. Finn Arne GangstadJun 25, 2010
  17. Johannes SixtJun 24, 2010
  18. git log --objectsHolger Hellmuth, Jun 24, 2010
  19. Santi BéjarJun 25, 2010
  20. Clément PoulainJun 24, 2010
  21. Christian CouderJun 25, 2010
  22. Ævar Arnfjörð BjarmasonJun 25, 2010
  23. Michael J GruberJun 25, 2010
  24. Shawn O. PearceJun 23, 2010

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.