Online all-in-one repositories
Posted: Sat Apr 26, 2008 11:04 am
Hi,
There are plenty of all-in-one code solutions out there (repository, wiki, bugtracker, that kind of thing) - Sourceforge, Googlecode, Bountysource, etc., but none of them have a feature which I really want (will be explained in a second). I'm therefore thinking of creating my own as a sort of side project.
What I want to decide though, is whether to design this system purely for my own OS project (Pedigree), or whether to design it generically and make it available to anyone. What I'd like, if you can spare a minute or two, is several people's answers to a few questions, so that I can make my decision.
The features that I want that are not currently available are:
* Automated testing integration. This would in my case involve a CDash style web-based display and analysis of test results.
* Change requests. This is the feature I most want. I want to allow people to commit to my repository, but I don't want to give everyone trunk commit privileges. What if they break builds or functionality? Yes, I can roll back but (a) that's time consuming, (b) not particularly scaleable and (c) loses all the breaker's changes - it almost certainly won't be a deliberate break and possibly very easily fixed - no need to go throwing away their code!
So what I propose/want is a system where a user can submit a "Change request" or "CR". They would fill in a form giving what the change was, the rationale behind it etc etc, then either submit a patchfile to the system or the system would create a SVN/CVS branch to which they get commit access.
When the patch (or work on the created branch) is final, the change can be reviewed by a moderator, along with automated testing data (see first bullet point) to see if it is (a) wanted and (b) stable. If so, the system will merge it into the trunk. (If conflicts arise, the system will reject the change and notify the originator to update to a newer revision and solve the conflicts).
The first advantage to the above system is that you can allow many people access, not all of which you nessecarily trust 100%. The second advantage is that you can monitor testing regressions before it is too late (before the change gets into the trunk).
So, the big questions are:
(a) What do you think about my proposed features? Do you like the sound of them? Do they sound useful?
(b) Are there any features in your current repository (SF.net, googlecode etc) that you find lacking? Any features you want?
(c) Do you think I should make this available to anyone? Just to people in OSDev (I.e. make it OSDev specific), or just for myself and don't give up my day job?
Any responses would be much appreciated!
Thanks.
James
There are plenty of all-in-one code solutions out there (repository, wiki, bugtracker, that kind of thing) - Sourceforge, Googlecode, Bountysource, etc., but none of them have a feature which I really want (will be explained in a second). I'm therefore thinking of creating my own as a sort of side project.
What I want to decide though, is whether to design this system purely for my own OS project (Pedigree), or whether to design it generically and make it available to anyone. What I'd like, if you can spare a minute or two, is several people's answers to a few questions, so that I can make my decision.
The features that I want that are not currently available are:
* Automated testing integration. This would in my case involve a CDash style web-based display and analysis of test results.
* Change requests. This is the feature I most want. I want to allow people to commit to my repository, but I don't want to give everyone trunk commit privileges. What if they break builds or functionality? Yes, I can roll back but (a) that's time consuming, (b) not particularly scaleable and (c) loses all the breaker's changes - it almost certainly won't be a deliberate break and possibly very easily fixed - no need to go throwing away their code!
So what I propose/want is a system where a user can submit a "Change request" or "CR". They would fill in a form giving what the change was, the rationale behind it etc etc, then either submit a patchfile to the system or the system would create a SVN/CVS branch to which they get commit access.
When the patch (or work on the created branch) is final, the change can be reviewed by a moderator, along with automated testing data (see first bullet point) to see if it is (a) wanted and (b) stable. If so, the system will merge it into the trunk. (If conflicts arise, the system will reject the change and notify the originator to update to a newer revision and solve the conflicts).
The first advantage to the above system is that you can allow many people access, not all of which you nessecarily trust 100%. The second advantage is that you can monitor testing regressions before it is too late (before the change gets into the trunk).
So, the big questions are:
(a) What do you think about my proposed features? Do you like the sound of them? Do they sound useful?
(b) Are there any features in your current repository (SF.net, googlecode etc) that you find lacking? Any features you want?
(c) Do you think I should make this available to anyone? Just to people in OSDev (I.e. make it OSDev specific), or just for myself and don't give up my day job?
Any responses would be much appreciated!
Thanks.
James