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. > 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html