Thanks a lot for the reply Tim. I can describe how I manage this flow in detail. Actually, since we would interact through pure git, it's not necessary to unify the patch management scheme to be able to cooperate. But since I spent so much time on exactly this subject I guess we both find it interesting to describe it.
There are a number of valid ways to come at managing the topic patchsets and quilt is certainly one of them. Another approach that would work is to use git cherry-pick to throw around series of patches from one branch to another. The way I have been using though is stgit.
stgit has the advantages of quilt in terms of managing itself the members of the series. If you try to do it with git cherry-pick, you have to have explicit secondary branches floating around to take the series from and keep tracking of what came from where and what basis it was on, etc, it doesn't seem it will scale well to dozens of topic and multiple branches. stgit has a further characteristic that it stores applied / pushed patches from the series in absolutely pure git commits, so at any time you can push what you have to remote git and that's exactly what people will pull with no stgit on their side. Stgit is like quilt in terms of patch stack operation, push, pop, float, "goto", support for rebase, re-ordering, apply conflict management, import, export, mail and so on. Stgit series, what is and is not applied, all state in fact, is bound to a specific git branch. So when you checkout a different branch in git, the stgit context for that branch is made active and nothing is lost about stgit in the previous branch. In that way, it's like some extra features integrated on top of git.
Here's a tree I maintain with many topic branches using that flow
if you go back through the gitweb history, you can see it is formed from a set of other tracking-topic- branches each rebased on top of each other. I have a set of scripts to automate this rebasing. If I have something to fix or change at tracking-topic-hdmiaudio for example, I would move to that branch, change or add patches there, build and confirm the kernel works at that patchlevel, then use my scripts to rebase the topic branches on top of it, confirm we didn't break anything, and push the changed branches to public git.
The main downside is management by stgit is slow. I have a fast build machine but stgit just uses one thread and favours correctness over speed, it's constantly checking to see if any files were changed behind its back in the tree for example. Fully rebasing all my trees is a matter of 90 minutes, although that includes a bunch of special rebase trees that are different from what we're discussing.
The most important characteristic with managing the series at each topic level is that the topic patch series must strictly be sitting purely on top of the basis. git rebase, another candidate for handling the topic series, depending on the relationship of the two trees, will not always provide that feature in my experience.