Proposed change to Development
Benjamin Schieder <[email protected]> Fri, 13 Oct 2006 09:59:23 +0200
| Newsgroups | gmane.linux.distributions.rock.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi list. th and I just discussed a possible change to the current way of development and we like to hear your opinion on it: The current model is like this: 1. Patch is submitted to SubMaster 2. Patch is reviewed and commented/voted on 2.1. Patch may be rejected at this point 2.2. Patch may be discarded and resubmitted with changes 2.3. Patch may be applied if it doesn't affect CORE packages or parts outside the package/ directory. 3. Patch is tested in a Crystal and Bootdisk build 4. Crystal and Bootdisk build are tested in an installation 5. Patch may be found to not work. Continue at 2. 6. Patch may be found to work and be applied For development on larger parts of ROCK, points 3. and 4. take a lot of time, usually a week. This can slow down development of these larger parts. A current example is the integration of /etc/net into Crystal. th and I discussed a way to keep the review part intact while at the same time allowing for faster development on /etc/net and similar projects. This is what we came up with: We can create branches in the rock-linux subversion repository. Developers working on the respective branch will get write access there. For example rock-linux/branches/etcnet for the integration of /etc/net into ROCK. Developers can then directly commit their changes there. When they are done, they request a 'svn merge' of this branch into trunk. Submaster is to be modified to allow for this kind of requests. The smng server can even display the patch by doing a 'svn diff'. Here is an example of how this might work. This is based on the "Feature Branch" section of http://svnbook.red-bean.com/nightly/en/svn.branchmerge.commonuses.html At the start of a project - say /etc/net integration - the head developer of that project asks for a branch to be created and write access given to the developers that work on that project. A branch is then created by means of 'svn cp trunk branches/etcnet'. Work continues both in trunk and the etcnet branch. The branch should get the changes in trunk regularly. The mechanism to do that is 'svn merge'. This is the job of the branch developers. When work on the branch is done, a merge of the branch into trunk is requested. This will then be subject to the same kind of review as patches are with the current system. A merge request can look like this: /etc/net integration team: merge work on /etc/net into trunk. svn merge -r 8912:9123 svn://www.rocklinux.net/rock-linux/branches/etcnet The advantage of this is that developers can work together on certain projects without having to wait for a week for every change to be applied. Another advantage is that meta-information from 'svn mv' 'svn del' and 'svn add' is preserved. With 'diff' based operation, that information may be lost unless people are really careful. Comments, please! Greetings, blindy -- _ _ _ _ _ | \| |___| |_| |_ __ _ __| |__ | .` / -_) _| ' \/ _` / _| / / |_|\_\___|\__|_||_\__,_\__|_\_\ | | (_)_ _ _ ___ __ | |__| | ' \ || \ \ / |____|_|_||_\_,_/_\_\ Play Nethack anywhere with an x86 computer: http://www.crash-override.net/nethacklinux.html _______________________________________________ rock-devel mailing list [email protected] http://www.rocklinux.net/mailman/listinfo/rock-devel
signature.asc
(application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) iD8DBQFFL0dbr0OTeImXvg8RAq50AJ4mi7D9kFJAmZWgbcU7UEA+lIGIMQCfXwCv gmLHzbyg2mglyhRiJ8LPwgU= =Ibon -----END PGP SIGNATURE-----