Subject: [LON-CAPA-dev] New Location for LON-CAPA CVS repository

From: Stuart Raeburn <[email-masked]>
Date: Wed, 22 Oct 2008 12:48:16 -0400

Hello,

As of October 22, 2008, LON-CAPA's CVS service has been migrated to
new hardware and to a new OS. In addition, there have been some
changes to the way user accounts operate on the new server.

If you already have a local checked out copy of the repository on your
computer you will need to use a one line perl command to update your
local repository so you have the correct remote hostname in the Root
files.

First, change directory to the top level of your checked out CVS
copy. For example if the top level is at /home/loncapa (this
directory contains: CAPA doc loncom modules rat), do this:

cd /home/loncapa

If you have not previously followed the instructions in
http://mail.lon-capa.org/pipermail/lon-capa-dev/2008-June/001888.html
to convert from pserver authentication to ssh authentication, you'll
need to do this additional step first - run:

find . -name Root -exec perl -p -i -e "s/pserver/ext/" {} \;

Everyone will run the following command to update the repository
location (all on one line):

find . -name Root -exec perl -p -i -e
"s/zaphod\.lite\.msu\.edu/source.lon-capa.org/" {}
\;

Although ssh will be used to authenticate when connecting to the new
repository, shell accounts will not be accessible on the new server.
An existing user can continue to use his/her current password, or,
if a public ssh key was generated and provided to me, can continue to
gain access through key exchange, if the corresponding private ssh key
is accessible on the his/her own computer.

New users should generate public and private keys using:

ssh-keygen -t dsa

and send the public key to [email-masked]. The corresponding
private key should be stored in the user's ~/.ssh/ directory on
his/her own computer and given permissions so it is only readable by
the owner.

When generating keys there is an option to set a passphrase.
Although it is more secure to set a passphrase, if this is done the
user will need to provide the passphrase each time the key is used
when executing a cvs command.

Within the CVS repository, each user with privileges to commit code
changes (i.e., "writers") will receive a directory in "modules", and
within that a sub-directory named "private". Files committed to a
user's private sub-directory will not be visible to other CVS users,
and the contents of any commits in this sub-directory will not be sent
to the cvs mailing list either (although the log message will be
sent).  Any file/directory permissions which controlled file
visibility on the old server for existing "writers" are preserved on
the new server.

There is an RSS feed for the LON-CAPA CVS repository which will  
display the most recent 30 commits.  To subscribe, point an RSS reader  
at:

http://source.lon-capa.org/rss/cvs.rss

(There is currently a hiatus in entries between July 10th and October  
20th, because entries had not been added for several weeks because of  
an encoding issue associated with the character: &#246; included in  
the Log for a commit on July 10th.  It is hoped that this issue will  
not recur now an updated XML::RSS perl module is in use on the new  
server).

Existing RSS feed subscribers who were subscribed to the old URL  
(http://install.loncapa.org/loncapa.rss) will need to update the feed  
URL.

Please let me know if you encounter any problems.

Stuart Raeburn
MSU LON-CAPA group
[email-masked]

---

From: Stefan Bisitz <[email-masked]>
Date: Wed, 22 Oct 2008 19:24:37 +0200

On 22.10.2008, 12:48 -0400, Stuart Raeburn wrote:
> [...]

Note 1:
Don't forget to add a white space after the "{}" and before the "\;" to
get this running.

Note 2/Question:
"cvs diff lon..." says:
Could not chdir to home directory /chroot/home/bisitz: No such file or
directory

But the actual diff command is executed as expected. So, I guess I don't
have to worry.

Stefan Bisitz

---

From: "Ray Batchelor" <[email-masked]>
Date: Wed, 22 Oct 2008 18:00:00 -0700

Hi Stuart,
                OK there was no group batchelo, but I did what you
said changing it to

chown -R batchelo:users doc/latex/

I then could run

find . -name Root -exec perl -p -i -e
"s/zaphod\.lite\.msu\.edu/source.lon-capa.org/" {} \;

without any messages appearing.

Am I to understand correctly that the above command is intended to
replace the previous "cvs update -d" ?

It did not appear to do much though and I was never asked for my password.
The ONLY file which appears to have today's date is

/home/batchelo/loncapa/CVS/Root

I wonder if there is something else I am missing?

If I look at /home/batchelo/loncapa/CVS
I see
Entries
Repository
Root

Entries contains:
D/CAPA////
D/doc////
D/loncom////
D/rat////

Repositories contains:
CVSROOT/Emptydir

Root contains:
:ext:[email-masked]"/home/cvs

Slightly mystified,
Ray

---

From: Stefan Bisitz <[email-masked]>
Date: Thu, 23 Oct 2008 10:04:21 +0200

> replace the previous "cvs update -d" ?

Hi Ray,

No, this command replaces the old CVS server entries in the CVS files in
your local workspace with the new ones. This makes "cvs update -d" and
all other cvs commands connect the _new_ CVS server. You can and must
use the same CVS commands as before.

Stefan Bisitz