CactusRepositories-HOWTO Gabrielle Allen v1.1, 10 September 2000 This HOWTO is written to explain the organisation of the CVS repositories which are maintained by the Cactus Team at cvs.cactuscode.org. Please help us to keep this documentation complete and up-to-date by sending complaints, suggestions and errata to the Cactus Team at cactus@cactuscode.org Introduction ------------ The Cactus Team maintains a number of CVS repositories on the CVS server at cvs.cactuscode.org. We have multiple repositories to help organise the different categories of thorns, and because we choose to work with different repositories for the stable and development version of the distributed code. NOTE: At present the machine cvs.cactuscode.org is the machine gilling.aei-potsdam.mpg.de (....) at the Max Planck Institute for Gravitational Physics in Golm, Germany. Permissions ----------- The Cactus repositories all use logins and passwords, which allows us to add checkout and/or commit priviledges on a user basis for different modules. If a module is publically available, it can always be checked out by the anonymous user: username: cvs_anon password: anon If you think you need a username and password to allow you access to checkout or commit to private modules in the Cactus repositories, apply to cactusmaint@cactuscode.org In addition you should have the author of the module (if not a member of the Cactus team), email us to confirm their permission. Repositories ------------ The repositories maintained at cvs.cactuscode.org are /cactus The current stable (last released) version of the Cactus Code, the Cactus Computational Toolkit, and the Cactus Einstein Toolkit. /cactusdevcvs The development version of the Cactus Code, the Cactus Computational Toolkit and the Cactus Einstein Toolkit /arrangements Private thorn arrangements, hosted on our CVS server /packages External packages which are needed for some thorns (e.g. FlexIO, Jpeg). Note that we are currently updating our procedures for dealing with external packages to provide the possibility for easily linking to packages compiled outside of Cactus. Using a Repository ------------------ Instructions for using CVS can be found by looking at the man pages for cvs, or by obtaining the CVS documentation from www.cvshome.org Only an initial guide is provided here 1. Login to repository cvs -d :pserver:@cvs.cactuscode.org: login 2. List publically available modules cvs -d :pserver:@cvs.cactuscode.org: checkout -s 3. Checkout a module (into current directory) cvs -d :pserver:@cvs.cactuscode.org: \ checkout 4. Update modules in current directory recursively (-d means get new directories) cvs update -d The Development Repository -------------------------- To manage working with both a stable and development version of the Cactus Code and Toolkits, we use two repositories (an alternative method would have been to use branches in CVS, but for various reasons we decided against this for now). The stable version is kept in the /cactus repository, and this is frozen, that is no changes are allowed to be committed. The development version contains bug fixes, and ongoing development work. While we try to keep everything working, occasionally there will be problems with thorns not compiling on all architectures, or interfaces changing. We suggest that you work with the stable version if possible, and that if you need to use the development version that you use everything from the development version. That is, we advise against mixing development and stable versions of the Flesh or Thorns. IMPORTANT: As is obvious from the name, the development version is the version of Cactus which is being actively developed. This means that it could be changing from day to day. If you are using the development version you should be prepared to monitor CVS messages detailing changes to flesh and thorns, and update your installation as necessary. Your Thorns ----------- We would encourage thorn authors to make their thorns available from their own CVS repositories. Our checkout scripts contain mechanisms for obtaining thorns from a general CVS repository. If you would like information on setting up a CVS repository on a local machine, check the CVS documentation which you can find at www.cvshome.org If you need more help, contact cactusmaint@cactuscode.org, we can't promise that we will have time to help, but we can give you some pointers, and we have some documentation for creating CVS repositories.