Ramkumar Ramachandra venit, vidit, dixit 11.04.2011 11:19: > Hi Miklos, > > Miklos Vajna writes: >> Background: We at LibreOffice are trying to use the 'filter' >> gitattributes feature to clean up line wrappings in po files. >> >> The problem is that it seems the clean filter - which is supposed to be >> invoked only in case a new blob is created - is invoked even on >> clone/pull, and other developers are claiming that it slows down their >> workflow. >> >> Is this a bug? I don't exactly understand why this would be necessary. > > From config.txt: > - 'clean' is "The command which is used to convert the content of a > worktree file to a blob upon checkin". > - 'smudge' is "The command which is used to convert the content of a > blob object to a worktree file upon checkout." > > According to the documentation, 'smudge' is *supposed* to be invoked > on a clone/ pull, since it involves a checkout. I don't see how you > can avoid running these filters on every checkin/ checkout unless you > cache the result somewhere. Exactly that is why it's surprising that the clean filter is invoked on pull - clean is about checking in, pull only checks out. If you run your script with GIT_TRACE=1 you see that the two last clean invocations come from merge and gc. They go away when you do a fetch only. Note that with clean/smudge, a check "worktree == repo" requires a conversion of "worktree" to what would be checked in, and that uses "clean". That's why it's invoked not only for "commit". But maybe there is a better solution for your actual use case? Do you want to ignore line wrap or normalise it? Michael -- 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