Viewable by the world
On Saturday, January 28th, we will be converting the "Chombo" repository from CVS to SVN.  In addition, we will be moving it from "anag.lbl.gov" to "anag-repo.lbl.gov" and your access to this repository will be changing.  By default, you will have read-only access to the current versions of a subset of "Chombo".  This subset will be the same as the subset of "Chombo" that is used for releases BUT you will have access to the current SVN versions of this subset.

We are doing this for several reasons:
  • We need to have a better understanding of who has what type of access to this repository and have this documented and maintained.
  • Collaborators need a clear idea of who has access to the code(s) they are developing and the parts of "Chombo" that are a part of their efforts.
  • We want develop new functionality in "Chombo" without immediately making is visible to everyone so that we can make it available when it is working and we feel the APIs are well defined.
  • Collaborators will, nominally, be using the release portion of "Chombo" so it will be easier for them to release their code(s) so they correspond to a "Chombo" release.
  • We will be able to make more frequent releases of "Chombo" that can be coordinated with all our collaborators.
In addition, we will be allowing additional read and read/write access on a case by case basis.

We DON'T want to impede the ability of anyone collaborating with us.  To that end, we are announcing this change now so you can discuss this with your ANAG collaborators and they can make sure you get the necessary access to continue your collaboration without difficulty.  If it's unclear who you should discuss this with, please contact Phil Colella, [email protected].

The "release subset" has not been entirely defined yet (and your input and needs with help finalize the definition).  It will include substantial parts of "Chombo/lib" (including "mk", some of "util", and substantial parts of "lib" and "test") and very limited parts of "Chombo/example".  There will likely be code movement from "Chombo/example" to release portions of "Chombo" and/or collaboration development repositories (separate from "Chombo").

Also, this is part of a larger project to move all active repositories on "anag.lbl.gov" from CVS to SVN (if needed) and relocate them to "anag-repo.lbl.gov".  We plan to complete this within the next month or so and then remove access to "anag.lbl.gov".  We are also planning to start using a bug/feature reporting/tracking mechanism so that everyone using "Chombo" can submit problems, changes, improvements, etc.

As part of the move of "Chombo", you should commit all outstanding changes that you want converted to SVN before January 28th and you will have to do a fresh SVN checkout of the converted "Chombo".  CVS and SVN are similar and use similar commands but they are not identical.  Below are some instructions/suggestions for transitioning from the CVS to the SVN versions of the repository and some general things to know about SVN.

Starting January 17th (next Tuesday) and before January 28th, you should register for "https" access by going to "http://anag-repo.lbl.gov" and filling out the registration form.  Please include your e-mail address so we can contact you as needed and can added you to e-mail notification for the portion of the repository you are accessing.  Also, put "collaborator" under the "COMMENTS" section.

After you have done this, please try the test:
>svn --non-interactive --trust-server-cert --username USERNAME --password PASSWORD ls https://anag-repo.lbl.gov/svn/testrepo
where "USERNAME" is your user name and "PASSWORD" is your password your registered on "anag-repo".  This should result in a list of the top level directory of the "testrepo" repository.

If this works, you should be set to access "Chombo" after the transition.  If this doesn't work (or you have additional questions) please contact Noel Keen, [email protected].

Detailed Time-line and Instructions

Before transition
  • Confirm that you can access "testrepo" via "https" (see above) before Saturday, January 28th.
  • Commit all outstanding changes to the CVS version of "Chombo" by midnight PST on Friday, January 27th.  If you don't commit changes, the changes can still be done in the SVN checkout and committed there.
During transition
  • "anag.lbl.gov" and "anag-repo.lbl.gov" will be unavailable for some portion of Saturday, January 28th.  Assume they are not available until we send out e-mail that they are available.
After transition
  • Move your local CVS Chombo directory to another name (e.g., "mv Chombo Chombo-CVS") and checkout a clean version of the new SVN repository:
>svn --non-interactive --trust-server-cert --username USERNAME --password PASSWORD co https://anag-repo.lbl.gov/svn/Chombo/trunk Chombo
NOTE the "/trunk" after ".../svnroot/Chombo" above.  This is VERY IMPORTANT.  If it isn't there, you will checkout the Chombo trunk and ALL THE BRANCHES!
At this point, you should have a clean SVN version of Chombo.
Although the CVS version of the "Chombo" repository will continue to exist (with different names), it shouldn't be needed (all the branches, log messages, etc. will be propagated from CVS to SVN).  It will be renamed and should be thought of as read-only and only in case of emegency.  Also, once the other repositories are migrated from "anag" to "anag-repo", access to the old CVS version of "Chombo" will stop.

A few useful things to know about SVN
  • The "cvs" and "svn" commands are very similar and, in many cases, do the same thing functionally.
  • SVN allows you to treat directories like regular files - you can create them, rename them, and remove them as needed at any time.  This should allow us to clean up a lot of directory cruft that resulted because CVS didn't allow this.
  • The SVN trunk has the notion a HEAD and a BASE revision whereas CVS only has a HEAD.  Under SVN, the HEAD is the same as in CVS - it is the last version on the trunk and is stored remotely where the SVN repository lives.  The BASE, is a local version that represents the last time you did a "svn update" but doesn't reflect any changes other users made to the trunk since your last "svn update".
Why do you care?  When you do an "svn diff FILE", the default is to difference the BASE version against the current copy of "FILE".  If you want the same behavior as CVS (i.e., you want your local changes diff'ed against any changes to the trunk that have been committed by other users), you need to type "svn diff -r HEAD FILE".  This can also come up in other contexts.

Basically, SVN uses BASE as the default where CVS uses HEAD.
  • No labels