problem with co -d xx -n : bug or feature?

2001-02-02 Thread Haefelinger, Wolfgang

Hello there,
here's  my  problem:  defined an "ampersand module"
in  $CVSROOT/CVSROOT/modules and got a problem when
checking out the module using checkout options "-d" 
and "-d" and want to know whether this is a (known)
bug or a feature. That's what I have and what I did
on 
 $uname -a 
 SunOS intra-dev 5.6 Generic_105181-05 sun4u sparc SUNW,Ultra-2

 $cvs --v
 Concurrent Versions System (CVS) 1.10.7 (client/server)

My repository contains the directories "mod1" and "mod2".
Want to checkout them both with a symbolic name. There-
fore I added the line "am mod1 mod2" to the modules 
file:

 $ cat $CVSROOT/CVSROOT/modules
 am mod1 mod2

That's pretty fine since 
 $ rm -rf am
 $ cvs co am
 $ ls am
 mod1 mod2

does exactly what I want. Even better, 

 $ rm -rf xx
 $ cvs co -d xx am
 $ ls xx
 mod1 mod2 

let's me checkout the modules in another directory. That's
wonderful, wow!

BUT, trying also option -n to prevent any additional checkout
script from beeing triggered behaves unexpected:

 $ rm -rf *
 $ cvs co -n -d xx am
 $ ls
 mod1 mod2

The modules are checked out in the working directory and not
as beeing told in the subdirectory "xx". 

BUT-BUT, on the other side,

 $ rm -rf *
 $ cvs co -n -d xx mod1 mod2
 $ ls 
 xx

does the right thing.

Ok, I'm much too stupid to understand why 'cvs' behave in 
this way, therefore  I  ask you, what's going on here. If 
this is a bug, I'm willing to fix it. 

Thanks,
Wolfi.

 _Wolfgang Haefelinger
 voice: 069-263-16582 
 email: [EMAIL PROTECTED]

___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



RE: problem with co -d xx -n : bug or feature?

2001-02-02 Thread Chris Cameron

There used to be a patch available at cvshome to fix a similar problem in
the modules file.  I cannot remember the exact details, but we installed the
patch.  AFAIK it has not been incorporated into the main CVS tree.  Sorry I
can't give you any more details, but I'm out of the office, visiting sales
offices in the Americas, so can't get at our CVS repository to give you more
details.

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED]]On Behalf Of
 Haefelinger, Wolfgang
 Sent: Friday, 2 February 2001 7:53 a.m.
 To: '[EMAIL PROTECTED]'
 Subject: problem with "co -d xx -n" : bug or feature?


 Hello there,
 here's  my  problem:  defined an "ampersand module"
 in  $CVSROOT/CVSROOT/modules and got a problem when
 checking out the module using checkout options "-d"
 and "-d" and want to know whether this is a (known)
 bug or a feature. That's what I have and what I did
 on
  $uname -a
  SunOS intra-dev 5.6 Generic_105181-05 sun4u sparc SUNW,Ultra-2

  $cvs --v
  Concurrent Versions System (CVS) 1.10.7 (client/server)

 My repository contains the directories "mod1" and "mod2".
 Want to checkout them both with a symbolic name. There-
 fore I added the line "am mod1 mod2" to the modules
 file:

  $ cat $CVSROOT/CVSROOT/modules
  am mod1 mod2

 That's pretty fine since
  $ rm -rf am
  $ cvs co am
  $ ls am
  mod1 mod2

 does exactly what I want. Even better,

  $ rm -rf xx
  $ cvs co -d xx am
  $ ls xx
  mod1 mod2

 let's me checkout the modules in another directory. That's
 wonderful, wow!

 BUT, trying also option -n to prevent any additional checkout
 script from beeing triggered behaves unexpected:

  $ rm -rf *
  $ cvs co -n -d xx am
  $ ls
  mod1 mod2

 The modules are checked out in the working directory and not
 as beeing told in the subdirectory "xx".

 BUT-BUT, on the other side,

  $ rm -rf *
  $ cvs co -n -d xx mod1 mod2
  $ ls
  xx

 does the right thing.

 Ok, I'm much too stupid to understand why 'cvs' behave in
 this way, therefore  I  ask you, what's going on here. If
 this is a bug, I'm willing to fix it.

 Thanks,
 Wolfi.

  _Wolfgang Haefelinger
  voice: 069-263-16582
  email: [EMAIL PROTECTED]

 ___
 Info-cvs mailing list
 [EMAIL PROTECTED]
 http://mail.gnu.org/mailman/listinfo/info-cvs



___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Easiest way to move a branch to the trunk

2001-02-02 Thread Brian J. Murrell

I have a project/repository which has a main branch (trunk) for
stable, released versions and a development branch.  The development
branch was branched off of the main branch a while ago for development
and has going along gangbusters.  Now it is time to release.  What is
the easiest way to move the develoment branch onto the main branch so
that what is on the main branch is completely replaced by the
development branch.

I realize of course I could use "cvs update -j" to move it all over
but that is going to create a boatload of conflicts.  I can deal with
conflicts easily (and tediously) enough but I wonder why I should need
to bother.  It seems that I should be able to simply replace the
contents of the main branch with the development branch in an easier
way, no?

All suggestions welcome, thanx.

b.

-- 
Brian J. Murrell

___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



RE: problem with co -d xx -n : bug or feature?

2001-02-02 Thread Haefelinger, Wolfgang

Hello,
'down-nailed'  my problem (see below) to next few lines
in  file  ~/src/modules.c (around line 533). I included 
the #ifdef and #endif lines - and voila, cvs behaves as
expected.

#ifdef HAVE_MAJOR_HACK
  /* XXX - XXX - MAJOR HACK - DO NOT SHIP - this needs to
 be !pipeout, but we don't know that here yet */
  if (!run_module_prog)
 goto do_special;
#endif
  dir = where ? where : (mwhere ? mwhere : mname);
  /* XXX - think about making null repositories at each dir here
 instead of just at the bottom */
  make_directories (dir);
  if ( CVS_CHDIR (dir)  0)
  {
 error (0, errno, "cannot chdir to %s", dir);
 spec_opt = NULL;
 err++;
 goto do_special;
  }

Two questions remain:
(a) after all, what does  the  above 'XXX - XXX' comment
mean and where will cvs fail now?
(b) my naive assumption about an  (ampersand) module was, 
that a module is something  like an abbreviation for
a (possible)  large  list  of  arguments to cvs, e.g. 
writing the ampersand module
  am mod1 mod 
and executing 
  $cvs co am
is exactly equivalent with
  $ cvs co mod1 mod2
or, in  other word, my assumption was that an argument
identified as 'module' gets expanded by its definition
but the result of this  expansion is evaluated then as 
if I had typed it manually on the commandline.
But this is  not the case: my assumption is that there
are two evaluation procedures, one for modules and one
for 'files' and my question is just: why?

Bye,
Wolfi.

 -Ursprngliche Nachricht-
 Von: Chris Cameron [mailto:[EMAIL PROTECTED]]
 Gesendet: Freitag, 2. Februar 2001 12:39
 An: 'Haefelinger, Wolfgang'; [EMAIL PROTECTED]
 Betreff: RE: problem with "co -d xx -n" : bug or feature?
 
 
 There used to be a patch available at cvshome to fix a 
 similar problem in
 the modules file.  I cannot remember the exact details, but 
 we installed the
 patch.  AFAIK it has not been incorporated into the main CVS 
 tree.  Sorry I
 can't give you any more details, but I'm out of the office, 
 visiting sales
 offices in the Americas, so can't get at our CVS repository 
 to give you more
 details.
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED]]On Behalf Of
  Haefelinger, Wolfgang
  Sent: Friday, 2 February 2001 7:53 a.m.
  To: '[EMAIL PROTECTED]'
  Subject: problem with "co -d xx -n" : bug or feature?
 
 
  Hello there,
  here's  my  problem:  defined an "ampersand module"
  in  $CVSROOT/CVSROOT/modules and got a problem when
  checking out the module using checkout options "-d"
  and "-d" and want to know whether this is a (known)
  bug or a feature. That's what I have and what I did
  on
   $uname -a
   SunOS intra-dev 5.6 Generic_105181-05 sun4u sparc SUNW,Ultra-2
 
   $cvs --v
   Concurrent Versions System (CVS) 1.10.7 (client/server)
 
  My repository contains the directories "mod1" and "mod2".
  Want to checkout them both with a symbolic name. There-
  fore I added the line "am mod1 mod2" to the modules
  file:
 
   $ cat $CVSROOT/CVSROOT/modules
   am mod1 mod2
 
  That's pretty fine since
   $ rm -rf am
   $ cvs co am
   $ ls am
   mod1 mod2
 
  does exactly what I want. Even better,
 
   $ rm -rf xx
   $ cvs co -d xx am
   $ ls xx
   mod1 mod2
 
  let's me checkout the modules in another directory. That's
  wonderful, wow!
 
  BUT, trying also option -n to prevent any additional checkout
  script from beeing triggered behaves unexpected:
 
   $ rm -rf *
   $ cvs co -n -d xx am
   $ ls
   mod1 mod2
 
  The modules are checked out in the working directory and not
  as beeing told in the subdirectory "xx".
 
  BUT-BUT, on the other side,
 
   $ rm -rf *
   $ cvs co -n -d xx mod1 mod2
   $ ls
   xx
 
  does the right thing.
 
  Ok, I'm much too stupid to understand why 'cvs' behave in
  this way, therefore  I  ask you, what's going on here. If
  this is a bug, I'm willing to fix it.
 
  Thanks,
  Wolfi.
 
   _Wolfgang Haefelinger
   voice: 069-263-16582
   email: [EMAIL PROTECTED]
 
  ___
  Info-cvs mailing list
  [EMAIL PROTECTED]
  http://mail.gnu.org/mailman/listinfo/info-cvs
 
 

___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re[2]: Concurrent VS...

2001-02-02 Thread James Lyon

NLY I think the problem any VC system is supposed to solve is to
NLY prevent multiple people from editing the same file at the same
NLY time. CVS does this. Instead, people edit different copies of the
NLY same file at the same time. The first person to checkin succeeds.
NLY CVS will prevent checkins by others and will display a message
NLY saying that they'll have to perform a merge (via cvs update).

Thanks for the information ... I've only dipped-into docs so far and
had found nothing obvious before I got really heavily committed to the
installation! I shall use the reserved approach I suspect, and improve
our management so we have the faintest idea who's editing whose files!

Cheers,
James.



NLY To:   [EMAIL PROTECTED]
NLY cc:   (bcc: Noel L Yap)
NLY Subject:  "Concurrent" VS...

NLY Requiring Version Control, I have installed CVS for evaluation. (I
NLY have used SCCS in the past but systems are different here now.)

NLY One of my principal reasons for using a VC system is to avoid the
NLY version discrepancies that arise from two separate developers
NLY inadvertently editing the same file at the same time.

NLY Have I selected the wrong VC system?



___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re[2]: Concurrent VS...

2001-02-02 Thread James Lyon

JD Maybe... maybe not.
JD File locking is not the only solution to this problem.
JD http://www.cvshome.org/docs/manual/cvs_10.html#SEC95

Thanks for the manual reference ... I've only dipped-into docs so far
and had found nothing obvious before I got really heavily committed to
the installation! Reading the above section  related has helped
greatly.

Cheers,
James.


 -Original Message-
 Sent: Wednesday, January 31, 2001 3:08 AM
 To: CVS Info List
 Subject: "Concurrent" VS...

 Requiring Version Control, I have installed CVS for evaluation. (I
 have used SCCS in the past but systems are different here now.)
 
 One of my principal reasons for using a VC system is to avoid the
 version discrepancies that arise from two separate developers
 inadvertently editing the same file at the same time.
 
 Have I selected the wrong VC system?



___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: Easiest way to move a branch to the trunk

2001-02-02 Thread Stephen Rasku

Brian Murrel wrote:

I have a project/repository which has a main branch (trunk) for
stable, released versions and a development branch.  The development
branch was branched off of the main branch a while ago for 
development
and has going along gangbusters.  Now it is time to release.  What is
the easiest way to move the develoment branch onto the main branch so
that what is on the main branch is completely replaced by the
development branch.

I realize of course I could use "cvs update -j" to move it all over
but that is going to create a boatload of conflicts.  I can deal with
conflicts easily (and tediously) enough but I wonder why I should 
need
to bother.  It seems that I should be able to simply replace the
contents of the main branch with the development branch in an easier
way, no?

All suggestions welcome, thanx.

I know that this is shutting the barn door after the horses have gone 
but your new development should have been on the trunk and you should 
have had stable branch.  Since the new development is already on the 
head this removes the need to merge (or put) new development there.

However, to solve your current problem you will have to write a 
script.  Assuming that you have a workspace already checked out on the 
head, this is how you put the branch version of a file to the head:

cvs update -p -r branch-tag foo.c  foo.c

You will have to iterate this over every file in the tree.  Once all 
the files are updated you can check in the whole repository.

-- 
Stephen Rasku   E-mail: [EMAIL PROTECTED]
Senior Software EngineerWeb:http://www.pop-star.net/
TGI Technologies


___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: Easiest way to move a branch to the trunk

2001-02-02 Thread Brian J. Murrell

On Fri, Feb 02, 2001 at 08:56:26AM -0800, Stephen Rasku wrote:
 Brian Murrel wrote:
 
 I know that this is shutting the barn door after the horses have gone 
 but your new development should have been on the trunk and you should 
 have had stable branch.

Of course.  It was a little more abstract that I previously eluded but
your points are right on.  Both the trunk and the branch were parallel
development, one only cutting edge, the other bleeding edge.  I should
have forseen moving the bleeding edge to the cutting edge though and
did it as you said.

 Since the new development is already on the 
 head this removes the need to merge (or put) new development there.

Right.

 However, to solve your current problem you will have to write a 
 script.  Assuming that you have a workspace already checked out on the 
 head, this is how you put the branch version of a file to the head:
 
   cvs update -p -r branch-tag foo.c  foo.c

Looks good.

 You will have to iterate this over every file in the tree.  Once all 
 the files are updated you can check in the whole repository.

But what to do about files that are on the head but not in the branch
and vice versa?  Figure out which ones are which and do some "cvs new"
and "cvs delete"s?

Once I have done that I will correct the function of the branches.

Thanx,
b.

-- 
Brian J. Murrell

___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: Easiest way to move a branch to the trunk

2001-02-02 Thread Stephen Rasku

Brian Murrel wrote:

But what to do about files that are on the head but not in the branch
and vice versa?  Figure out which ones are which and do some "cvs 
new"
and "cvs delete"s?


If you cvs update -p a file that only exists on the branch it will 
create it.  If you do:

cvs status new-file

it will show:

cvs server: use `cvs add' to create an entry for local.h

If you cvs update -p a file that doesn't exist on the branch, you will 
get a zero length file.

These should be good clues as to which files to add and delete.

By the way, what's with the weird e-mail addresses (e.g. 
[EMAIL PROTECTED])?

-- 
Stephen Rasku   E-mail: [EMAIL PROTECTED]
Senior Software EngineerWeb:http://www.pop-star.net/
TGI Technologies


___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: Easiest way to move a branch to the trunk

2001-02-02 Thread Brian J. Murrell

On Fri, Feb 02, 2001 at 11:37:29AM -0800, Stephen Rasku wrote:
 Brian Murrel wrote:
 
 If you cvs update -p a file that only exists on the branch it will 
 create it.  If you do:
 
   cvs status new-file
   
 it will show:
 
   cvs server: use `cvs add' to create an entry for local.h
   
 If you cvs update -p a file that doesn't exist on the branch, you will 
 get a zero length file.
 
 These should be good clues as to which files to add and delete.

So what I was thinking is true.  Thanx.

 By the way, what's with the weird e-mail addresses (e.g. 
 [EMAIL PROTECTED])?

It's a "onetime" address.  When I mail to unknown destinations (which
includes lists -- which allow anonymous posting anyway) a unique return
address is created for that message and it is logged.  If the address
starts attracting spam at some point, a) I know where the leak is b) I
can turn it down (assuming it's outlived it's usefulness) to prevent
the spam from successfully even being delivered to may mail server or
c) I can add it to my spam-traps for early detection and resistance of
spam sources.

b.

-- 
Brian J. Murrell

___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: Easiest way to move a branch to the trunk

2001-02-02 Thread Eric Siegerman

On Fri, Feb 02, 2001 at 05:07:31AM -0800, Brian J. Murrell wrote:
 I have a project/repository which has a main branch (trunk) for
 stable, released versions and a development branch.  The development
 branch was branched off of the main branch a while ago for development
 and has going along gangbusters.  Now it is time to release.  What is
 the easiest way to move the develoment branch onto the main branch so
 that what is on the main branch is completely replaced by the
 development branch.
 
 I realize of course I could use "cvs update -j" to move it all over
 but that is going to create a boatload of conflicts.  I can deal with
 conflicts easily (and tediously) enough but I wonder why I should need
 to bother.  It seems that I should be able to simply replace the
 contents of the main branch with the development branch in an easier
 way, no?
 
 All suggestions welcome, thanx.

Here are some instructions I recently posted for someone else,
lightly edited to reflect your situation, which is somewhat
different from theirs:

  - Create a directory containing the latest development source,
WITHOUT any CVS subdirectories (use "cvs export", or manually
delete the CVS subdirectories from a preexisting sandbox).
I'll call this dev.

  - Create another sandbox on the trunk (ie. the stable version),
eg. using "cvs co" with no -r or -D options, or "cvs update -A".
This sandbox is hereafter referred to as stable.

  - Get a list of the stable files you've deleted in development:
  % cd stable; find . -print | sort /tmp/stable
  % cd dev; find . -print | sort /tmp/dev
  % comm -23 stable dev /tmp/deleted-files

  - Recursively copy dev (new files, modified files, unmodified
files -- the whole works) OVER TOP OF your stable sandbox;
this will result in stable containing your development
source, but with its CVS admin info pertaining to the stable
version (not quite -- any files you've deleted in development
will still be present; we'll deal with this momentarily)

  - Now, "cd stable; cvs -nq update" will give you a complete
list of the files you've added (flagged by "?") and changed
(flagged by "M") -- but NOT the ones you've deleted, which is
why you had to make a list of those before overlaying the
two directories

  - "cvs add" any of the "?"-flagged files that should be
CVS-tracked (exclude any cruft that's made it into dev
-- temporary files that people forgot to delete, etc.) 

  - "cvs remove -f" the files you've deleted in development, ie.
the ones in the list you made above (though of course you'll
want to verify that none of them were deleted by accident in
the distant past :-)

  - "cvs commit"

--

|  | /\
|-_|/ Eric Siegerman, Toronto, Ont.[EMAIL PROTECTED]
|  |  /
Interviewer: You've been looking at the stars all your life:
Is there anything in astrology?
Arthur C. Clarke: It's utter nonsense.  But I'm a Sagittarius,
so I'm naturally skeptical.

___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: Easiest way to move a branch to the trunk

2001-02-02 Thread Richard Cobbe

Lo, on Friday, February 2, Brian J. Murrell did write:

 I have a project/repository which has a main branch (trunk) for
 stable, released versions and a development branch.  The development
 branch was branched off of the main branch a while ago for development
 and has going along gangbusters.  Now it is time to release.  What is
 the easiest way to move the develoment branch onto the main branch so
 that what is on the main branch is completely replaced by the
 development branch.

We're about to have to do this at work ourselves, because the folks who
created the branch didn't really understand what they were doing, and so
got the trunk  branch backwards.  (New development has been on the
branch---evil!)

If you tagged the trunk at the point where you branched, then this should
actually be pretty easy.  Call the tag PRE-BRANCH-TAG:

* Get a working copy on the trunk; make sure there are no uncommitted
  changes.

* If you want to preserve that line of development, you may want to tag and
  branch here.

* Back on the trunk, roll back all changes made since the branch:
cvs update -j HEAD -j PRE-BRANCH-TAG

* Resolve any conflicts, although I'd suspect that there wouldn't be any.
  You may also want to commit here, but that's up to you.

* cvs update -j PRE-BRANCH-TAG -j DEVELOPMENT-BRANCH
to incorporate all changes made on the development branch.  Again,
there shouldn't be any conflicts.

* commit.

If you *don't* have PRE-BRANCH-TAG, then you're up a creek, and you'll have
to go with one of the other more labor-intensive suggestions posted.

Richard

___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: Too Frequently Asked Question of info-cvs mailing list

2001-02-02 Thread Alexey Mahotkin


I'm answering to both of you :)

 "LS" == Laine Stump [EMAIL PROTECTED] writes:

LS I've taken Jerry Nairn's vss2cvs.pl script, which you have on your
LS website, and enhanced it quite a bit. It is now available at

LShttp://www.laine.org/cvs/vss2cvs

 "CH" == Curt Hagenlocher [EMAIL PROTECTED] writes:

CH I have made some important fixes to vss2rcs.js.  You can get a
CH newer version for your web site at

CH http://www.hagenlocher.org/software/vss2rcs.js

I have updated the faq entry and it now looks like this:

===
Q: I have a large MS Visual SourceSafe repository.  How could I
convert it to use it from CVS?

A: There are two different scripts for that purpose:

Laine Stump laine+info-cvs(at)laine.org has taken scripts originally
written in Perl by Jerry Nairn jnairn(at)realnames.com, and enhanced
it quite a bit.  The result is available at:

http://www.laine.org/cvs/vss2cvs/

Curt Hagenlocher curt(at)hagenlocher.org has written in JavaScript
another script, which is available at:

http://www.hagenlocher.org/software/vss2rcs.js

===

I will also delete the directory with my collection from server, to
get rid of any confusion (Heiko Nardmann's tool appeared to just list
files in VSS repository).

I will also unregister my "project" vss-to-cvs at
http://freshmeat.net.  Laine, Curt, please, take a time to register
your scripts at http://freshmeat.net/, to ease searching.

Thank you! 

--alexm

___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



pserver passwd

2001-02-02 Thread arul_venki

Hi
How to connect to a remote system and setting of password for 
CVS .when i connect a remote system i want the information that how 
to set the cvspassword in server side while i accessin the repository 
from client. i have an message while connetion with the server  
failure aborted with the peer machine
 
cvs -d :pserver:[EMAIL PROTECTED]:/usr/local/atest/cvsmain
login
(Logging in to [EMAIL PROTECTED])
CVS password:

cvs [login aborted]: recv() from server lor.kovaiteam.com: Connection 
reset by p
eer 
by
arul


___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: pserver passwd

2001-02-02 Thread Larry Jones

[EMAIL PROTECTED] writes:
 
 cvs [login aborted]: recv() from server lor.kovaiteam.com: Connection 
 reset by peer 

There's something wrong with your server.  If it's running CVS 1.10.6,
pserver is broken and you must update: you can get the current version
(1.11) from www.cvshome.org.  Otherwise, see the manual:

http://www.cvshome.org/docs/manual/cvs_21.html#SEC182

-Larry Jones

___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs