That could be done, I guess, but it would be way too cumbersome. Cleaning up the repository is not something I'd like to have to do every time some commit makes to some repository out there.
So implement an optimized equivalent for that case. Anyway, there is no need to do this "every time". I think once a day would be good enough. Even once a week would be pretty good. Being slow is not the only problem. What you're suggesting is what the git documentation calls rewriting history , and it explains why doing this would make it impossible to perform merges, including updating our tree from Linus'. http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#problems-With-rewriting-history I think there is some misunderstanding here. The method I just described is a way to merge changes from his tree to ours. The term "rewriting history" is a metaphor which expresses Torvalds' views. In effect, it claims that "If Torvalds let someone put nonfree software into a present or even past version of Linux, everyone who wants to refer to a repository of Linux is obligated to refer to that nonfree code." That is his views. We believe it is wrong to tell anyone about this nonfree software, and we will not follow his views. This discussion is about the practical question of how to best set up a Linux repository not including that code. > But it isn't our problem. We can leave it to be implemented by > someone who wants it. Well, *I* want it. It won't be really useful for me otherwise. Could you explain why? I don't see why you are concerned about merging changes automatically from our tree to his. It is good to contribute our Linux improvements to Torvalds' version, but I don't see why it is vital to merge them automatially. How many changes a week do we make? If we had to use diff to install the same patch manually into his tree, how much time per week would that take? Merging changes automatically from his tree to ours is important because that would save us substantial manual effort. Merging automatically the other way would save very little effort, so it's not an important issue. -- Richard Stallman President, Free Software Foundation 51 Franklin St Boston MA 02110 USA www.fsf.org, www.gnu.org