A while ago, Andy and I had some discussion about whether we should continue to use SVN and quilt or switch to git. SVN and quilt have served us well in the past, but they have their quirks, and git is nowadays considered the standard SCM for kernel development.
Back then, I suggested to postpone this discussion until we've sent GTA02 off to the factory, since it would be too risky to change repositories at a time when everyone is in release crunch. Well, GTA02 isn't quite done yet (but coming along nicely - seems that we're fixing more bugs than finding new ones these days, which is very unusual for OpenMoko ;-), but we had the opportunity to discuss this issue face to face in Taipei in the last weeks. The conclusions were these: there's little that speaks against using git as repository per se. In fact, it should be better than SVN in many regards. The big unknown is how we can use git and still produce sequential patches, i.e., the sort that goes something like [PATCH 0/2] OpenMoko foo, overview [PATCH 1/2] OpenMoko foo, platform code [PATCH 2/2] OpenMoko foo, GTA03-specific We need this for upstream merging. In SVN+quilt, these patches are in fact what resides in the repository, but there's no trivial way to extract such patches from a git repository if we have overlapping changes. Since we couldn't find an immediate answer, we decided on the following course of action: - for now, change nothing, i.e., we keep SVN+quilt and git in parallel - once we're good for MP, I'll take a few weeks off. Matt has volunteered to act as caretaker for the SVN+quilt repository during my absence. (Thanks, Matt !) - we keep on thinking about a good way to synthesize such patches from a git repository, including any specific workflow this may need - when I return, we migrate the current patches from SVN into git (in applied form, of course, not as patch files) - from then on, we proceed with git, using a workflow that allows us to synthesize patches as we need - around that time, we also start cleaning up patches and pushing them upstream. Details of how we approach this are still under discussion. I already have some ideas for how we can synthesize those patches. Andy, I think you'll like them :) Very light on the workflow. I'll write about them in a bit. - Werner
