I'm just taking a look at splitting up the Mirage repository for 0.3 and wondered if anyone had a strong opinion on the repository history. I'm currently doing this:
- Start with mirage.git from master
- 'Git mv' everything into a set of sub-directories which can operate independently. Each subdir has its own configure/Makefile/ocamlfind script which is copied from a common Makefile structure.
- git subtree export everything into separate repositories to host on
github.com/master
The last bit is the unfortunate one, since it filters out changesets before the directory rearrangement and so in practical terms leaves no useful history. Ideally (somehow), we would keep the individual commit histories on the files even after they've been exported.
One alternative is to clone mirage.git once per component, and delete everything else that isn't needed. That's a pretty enormous space requirement though.
It's a bit tedious, so I'm inclined to preserve copyrights and the original repository, and reset the history (as I believe xen-api.git did when open-sourced, right Dave?). Any objections/ideas/agreement?
-anil