larsxschneider@xxxxxxxxx writes: > The first two patches are cleanup patches which are not really necessary > for the feature. These two looked trivially good. I think I can agree with what 3/3 wants to do in principle, but * "protocol" is not quite the right word. The current way to interact with clean and smudge filters can be considered using a different "protocol", that conveys the data and the options via the command line and pipe. The most distinguishing feature that differentiates the old way and the new style this change allows is that it allows you to have a single instance of the process running that can be reused? * I am not sure what's the pros-and-cons in forcing people writing a single program that can do both cleaning and smudging. You cannot have only "smudge" side that uses the long-running process while "clean" side that runs single-shot invocation with this design, which I'd imagine would be a downside. If you are going to use a long-running process interface for both sides, this design allows you to do it with fewer number of processes, which may be an upside. * The way the serialized access to these long-running processes work in 3/3 would make it harder or impossible to later parallelize conversion? I am imagining a far future where we would run "git checkout ." using (say) two threads, one responsible for active_cache[0..active_nr/2] and the other responsible for the remainder. > You will notice that I do not check the exact number of "clean" filter > invocations in the tests. That is a good thing to do. You shouldn't really care for the proper operation of the feature, reducing the number of them would be an independent topic (see the work of Peff earlier today), and we may even find a need to make _more_ calls for correctness (again, see the work of Peff earlier today -- to a person who wants to keep the number of requests to the attribute system low, the change may look like a regression, but it is necessary for the overall system; you may find a similar need to running "clean" more for some need of the overall system that you do not anticipate right now). -- 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