GEOS-5 Software Engineering: Difference between revisions

Pchakrab (talk | contribs)
Pchakrab (talk | contribs)
Line 63: Line 63:
* No good way to protect tags
* No good way to protect tags
* User can logon to machine where repository resides and tinker with files There really is no good way to enforce CVS policies
* User can logon to machine where repository resides and tinker with files There really is no good way to enforce CVS policies
===== Solution: CVS/ACL =====
CVS/ACL is a patch to CVS for access control list management. It provides advanced ACL definitions per modules, directories and files on branch/tag for remote cvs repository connections. As a result the execution of all CVS subcommands can be controlled with eight different permissions.
# (n) no acess
# (r) read - allows subcommands: annotate, checkout, diff, export, log, rannotate, rdiff, rlog, status
# (w) write - only cvs commit/checkin action. Not allowed add/remove files to/from repository.
# (t) tag
# (c) create
# (d) delete
# (a) full access except admin rights
# (p) acl admin
The advantages of CVS/ACL are:
* Branches/packages are protected from modification from 'non-authorized' groups.
* General users check out code, experiment with it and check in modified files to their 'own private branches'.
* Tags from major releases are protected from modification by non-authorized users.
* General users are not allowed to directly manipulate repository files.
===== GMAO development group =====
<!--
(THESE LISTS NEED TO BE UPDATED)
a. esma: people with some access to the ESMA repository:
  List of people goes here.
b. cvsadm: CVS/ACL administrators
  dasilva, lucchesi, ltakacs, todling
c. gmao_agcm: GEOS-5 AGCM group
  trayanov, f4mjs, ltakacs
d. gmao_aana: Atmospheric Analysis group
  jguo, todling etc.
e. gmao_adas: Atmospheric DAS integration group
  toding
f. gmao_chem: Chemistry/Aerosol group
 
g. gmao_aops: (Atmospheric) Operations group
h. gmao_legacy: GEOS-[1234] maintenance
-->


==== GEOS-5 Systems and Modules ====
==== GEOS-5 Systems and Modules ====