> I suspect people have hard time grasping _why_ you are jumping > through hoops. At least I do. What problem are you trying to > solve? You perhaps described your mechanism well enough, but it > is not quite clear to me what kind of operations are made easier > with this exercise, against which possible downside of it, if > any, would be judged. Oh... I thought he explained that pretty well. The problem is a long-lived out-of-tree patch, or anything else that's going to undergo repeated test releases before merging. Think about swsusp2 or resiser4 or gfs or user-mode linux (now merged) or nommu linux (now merged) or some similar large patch that takes a lot of review. The challenge is to be able to maintain a "latest Linux release + patches" distribution and still keep a clean patch to submit to Linus that doesn't have a zillion cross-merges because he doesn't like that, and they confuse the development history. It happens with a single developer when you're working on several independent features and want a "latest & greatest" tree while still keeping the feature branches separate. This is the sort of thing that git-rebase and pu branches are used for, and jgarzik's libata-dev ALL branch is basically a manually operated hydra. Some combination of automatic rebasing and automatic generation of a pu/ALL tree seems like what's being asked for here. The former adds new history "before" the branch development, and the latter adds additional changes "after" it. All this subterfuge is in the name of keeping the feature development history clean. But all of darcs' "patch calculus" ideas are just basically rebase strategies. If someone can come up with a good alternative to diff-and-patch, perhaps git-rebase can develop a number of underlying strategies like git-merge. - : 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