You're a brave soul! Can we get a labs project for testing that in real time?
I'm not sure about the personal public remotes. If we're going to continue with our way of contribution, we would have continuous bases. OTOH it looks cool to be able to work A1--A2--B1--B2 without creating new branches at each step.
The review-heads stuffs is perhaps too complicated. I think it'd be simpler to base in the well-known monotonic-increased ids. So the review-queue item 1024 is at refs/review-heads/1024 where you pull the latest item (or the full set?), and each forked head for that review has refs/review-heads/1024/1, refs/review-heads/1024/2... Plus the aliasing of 1024 to Voice-to-wikitext-feature.
Reuse of old names might be confusing. Maybe if a name is reused it should get named Feature_v2 and the original one automatically named Feature_v1. The mere presence of v2 indicates that there was a prior one.
- The project needs a good database system. I copied our database
classes in but never got to using them. I'm isolating all database stuff into some model classes so different database handing can be swapped in. Anyone who feels up to it can adapt our database code to work as a framework for the review system.
I think it would be easier with our classes. Too much fetch()s in ProjectModel.php
- Right now I'm implementing git handling using proc_open to interact
with git's porcelain and plumbing commands. Anyone who feels up to the task is free to implement a PHP extension for interfacing with git we can swap over to using.
Please, remove the usage of __call() there. Make a different function for each one, even if they're going to be dummy ones right now. This way we can easily replace them with real implementations instead of wondering which ones are called by the magic.