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
Finn Arne Gangstad <finnag@pvv.org>
Date
Jun 25, 2010, 08:43 UTC
Message-ID
<20100625084332.GC4734@pvv.org>
In-Reply-To
<7vtyosnj23.fsf@alter.siamese.dyndns.org>
On Thu, Jun 24, 2010 at 03:48:36PM -0700, Junio C Hamano wrote:
> A natural expectation would be that g2w-then-w2g is an identity function,
> I think.  But the "feature" under discussion in this thread depends on
> that g2w-then-w2g is _not_ a noop (otherwise it wouldn't do us any good).

This is a natural expecation for subsequent runs. The first time you run it though, it makes more sense (and all built in filters act this way) to change the file to its canonical form instead. If it already is in its canonical form, you expect no further change.

Show 5 quoted lines
> IOW, we are suggesting authors of clean/smudge to make their g2w-then-w2g
> perform more than just a round-trip but actively _clean things up_, aren't
> we?  I don't think we have documented that suggestion, and I actually
> think we might even have said that g2w-then-w2g should be a no-op
> somewhere in the documentation.

It's not that we suggest they should clean things up, it is that they ALREADY clean things up. It's hard to make a reasonable filter that doesn't. And git should (and can!) give you some assistance in handling cleanup-related changes if you have such a filter.

To make a non-normalizing filter, both of these would have to be true:
1. g2w then g2w again would change the file even more
2. w2g on something that was run twice through g2w would be equivalent
   to running it through g2w once.. e.g. w2g(g2w(g2w(x))) == g2w(x),
   can't think of any resaonable scenario.

If you somehow manage to make a filter where w2g(g2w(x)) == x for all x, the patch under discussion will not create any problems. I've never seen such a filter though.

- Finn Arne
Previous: Junio C HamanoNext: Eyvind Bernhardsen
Message 12 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.