Further to last Friday's meeting, I have updated the permissions on the IMP Subversion repository, and created some new branches, as detailed below.
Note: the IMP SVN trunk should still be treated as "stable". Code checked in should compile and pass its test cases, as is currently the case. Breakage of the nightly builds needs to be fixed as soon as possible so that people can develop with the trunk without running into problems with code from others.
The policies and guidelines at https://salilab.org/imp/doc/doxygen/devguide.html are largely unchanged. In particular, API changes to modules should still be announced on imp-dev (ideally when the interface is designed, before the code itself is written). API changes to the kernel also need to be announced on imp-dev before they are implemented; only if nobody objects within two working days to the change can it be applied.
I have also created some new branches: - branches/stable is updated from trunk whenever the nightly builds pass. Thus, people like Frido can use branches/stable and do an 'svn up' confident that it works (at least for us). For example, 'svn co https://svn.salilab.org/imp/branches/stable' will check out the stable branch, while 'svn switch https://svn.salilab.org/imp/branches/stable .' run from within an existing checkout of the IMP trunk will switch it to the stable branch. Once checked out or switched, the stable branch works in just the same way as the trunk - you just can't make patches to it (development takes place on the trunk).
- branches/salilab/ is a directory under which people can create their own branches for not yet published stuff that we cannot make public outside the lab yet.
- branches/testing/ is a directory under which short-lived branches for development/testing can be created. Code need not compile or work. Such branches should be deleted or merged back into the trunk once the code stabilizes. testing branches are not built by the nightly builds, of course.
The default access permissions now are that everybody can read everything in IMP, while those in a select 'imp-writers' group can write. Thus the imp-writers people can also create new branches under branches/salilab or branches/testing if they so desire. (I recommend that you do not create a branch unless you really need to, though - it's much easier to keep up with others if you work in the trunk.)
Exceptions: - those outside the Sali lab cannot read or write branches/salilab/. - branches/stable is read only - development must occur in the trunk. - modules are always writable by their owners, even if they are not in the imp-writers group. - everybody can write into trunk/patches/, as is currently the case.
imp-writers are those in the Sali lab that have asked for write access. To be added to this group, I would typically ask you to make your first few contributions via the 'old' mechanism (write a patch and put it in the patches directory) until you get the hang of how things work.
Ben