Development Projects
- libressl (current)
- birdshack (future)
- misc
- openca-ocspd patches
- wordpress-certificate login plugin
- roundcube certificate login
Requirements from a developers point of view
- good branch management
- easy to make a new branch
- intelligent merge
- good response times (to make small and frequent commits feasible)
- (enforceable) workflow (more procedure than tech, non the less...)
- more structured testing
- what specifically to test on a patch
- how many (and whose) stamps of approval are required
- more structured testing
hashing & signing
- devel: THIS is my patch, and the copy you have is unchanged.
- test_1: I checked THIS patch, and I found it to be good/bad. (+comments)
- test_n: I checked THIS patch, and I found it to be good/bad. (+comments)
- leader: "According to policy and test results, THIS patch is acceptable. Admins please install it on the production system, ASAC." (As soon as convenient)
- vs. "According to policy and test results, THIS patch is not acceptable. Admins, take note that it does NOT reach the production system."
- especially important if we plan to outsource hosting of the central repository (in order to verify the hoster doesn't tamper with our code)
- compatibility between the one (critical) production repository and one, or more, (non-critical) devel and/or test repositories.
- frequent updates/replication (uni-directional) from production to devel/test.
- continious integration
works with SCM PG
easy to grab working testimage DB
Nice to have
- fast checkouts to make bughunting easier
- someone to say "enough, this patch is/isn't acceptable"
- someone to prod buttock if the flow stagnates
system admin requirements
- Outsourced or standard packages on Linux distro
- No sysadmin interaction required to create accounts
matrix
requirement |
repo |
|||||
|
CVS |
Git |
Mercurial |
Subversion |
... |
|
1 |
Branches (easy) |
|
yes |
yes |
somewhat |
|
2 |
Branch merging |
mess |
nice |
nice |
mess |
|
3 |
Response times |
|
speed of light |
speed of sound |
|
|
4 |
Hashing |
|
yes |
yes |
indirectly |
|
5 |
Signing |
|
yes |
yes |
indirectly |
|
6 |
|
|
|
|
||
7 |
compatibility with production repo |
|
|
|
|
|
... |
... |
|
|
|
|
|
n |
... |
|
|
|
|
|
Preferences
SCM
git JS
Infrastructure
RedmineAMP
Hosting Options
Gitorious
- SCM: git
- OpenID registration
- users can create public clones
- Merge request system available
SourceForge
- SCM: Subversion, Git, Mercurial, Bazaar, CVS
- OpenID registration
Others?
Self hosting
- Option tools that aren't included on outsourced provider can be CAcert run if there's smooth intergration
Discussion Links
TODO - extract requirements from: