Re: Processing CVS errors

2000-12-14 Thread Donald Sharp

Nope.  You gotta look at standard error as well as the return code.
Also cvs diff doesn't always return what you think it should either ;)

donald
On Thu, Dec 14, 2000 at 12:56:21AM -0800, Reinstein, Shlomo wrote:
 Hi,
 Is there some way to process CVS errors in software, other than reading the
 text describing them from the standard error? I have Perl scripts which make
 extensive use of CVS, and I'd like these scripts to be able to process CVS
 errors and try to recover. I can see that CVS exits with a 0 return value
 for success and 1 for failure, but I'd like to know (within the Perl
 scripts) the reason for the failure and try to process them in some way.
 Thanks in advance, Shlomo.
 
 
 
 
 ___
 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



CVS + ssh == hack

2000-12-14 Thread steve


I was looking for a secure cvs solution a while back
and came across the cvs+ssh howtos. However it seemed
a fairly nasty, if workable solution.

I found a much better one however in the form of the
sslserver patch (for the client) and sslwrapper (for
the server)

You get all the ease of use of pserver with security
and without messing about with 'sleeping beauty' shells.
I'd love to see the patch make it into the main cvs
tree. Are any of the developers interested?

Stephen.



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



Re: Repository management

2000-12-14 Thread Derek R. Price

Jason Henry Parker wrote:

 2. Alternatively, is it possible to tweak CVSROOT/ to make some
directories readable or writable by only some users, or do I have
to resort to messing with UNIX file permissions?

I usually opt to use UNIX file permissions.  It's pretty simple.  Aside
from setting the read/write permissions as you like you just have to set
the setgid bits.  You'll have to set LockDir in the CVSROOT/config file
too.  The LockDir needs to be writable by everyone and will usually need
the setgid bit too.


 3. The CVS book says CVSROOT/ needs to be writable by everyone.  My
plan is to make CVSROOT/ writable by world, and all the files
(except CVSROOT/history) writable only by a cvsadmin user.

At least with LockDir set, CVSROOT only has to be readable by everyone.
I think only the history file needs to be writable by everyone.  I'd be
careful here, too.  I think if a directory has write permissions by
everyone, turning off write permissions on individual files in the
directory is pretty pointless since anyone with write permissions to the
dir can delete any file and replace it with a file of their choosing.  I
think everyone may get chmod abilities on all files in the dir too.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
This punishment is not boring and pointless.
This punishment is not boring and pointless.
This punishment is not boring and pointless...

  - Bart Simpson on chalkboard, _The Simpsons_




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



Re: commit mail

2000-12-14 Thread Derek R. Price

[EMAIL PROTECTED] wrote:

 Hi

 I am a CVS newbie.I wanted to know how I can send many commit
 messages as a single email;i.e. I want to send 10 commits as 1 email
 message.
 I also want to know how I can configure loginfo to send mail at a
 specified time i.e. once an hour or two.

 Thanks,
 Jeeva Sarma

Look into the scripts in the contrib directory of the source
distribution.  I think a commit_prep.pl  log_accum.pl pair are supposed
to do something like you're asking but I haven't played with them
myself.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
Of all the gin joints in all the towns in all the world, she walks into mine.

- Humphrey Bogart as Rick, _Casablanca_




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



Re: how to: SSH CVS Linux(server) Win(client[s])

2000-12-14 Thread Derek R. Price

Robert Schott wrote:

 cvs:/home/validuser/.ssh/autorized_keys - I even tried a
 'ssh -l validuser cvs' and this worked!)

As I understand it, the command above would attempt to log into a host with
the hostname 'cvs'.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
Take my advice, I don't use it anyway.




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



Re: Processing CVS errors

2000-12-14 Thread Dale Miller

Donald Sharp wrote:

 Nope.  You gotta look at standard error as well as the return code.
 Also cvs diff doesn't always return what you think it should either ;)

 donald
 On Thu, Dec 14, 2000 at 12:56:21AM -0800, Reinstein, Shlomo wrote:
  Hi,
  Is there some way to process CVS errors in software, other than reading the
  text describing them from the standard error? I have Perl scripts which make
  extensive use of CVS, and I'd like these scripts to be able to process CVS
  errors and try to recover. I can see that CVS exits with a 0 return value
  for success and 1 for failure, but I'd like to know (within the Perl
  scripts) the reason for the failure and try to process them in some way.
  Thanks in advance, Shlomo.
 


Shlomo,

I have been writing Perl scripts to interact with CVS and examine the results
including output to standard error.

Some examples, completely out of context are shown below:

---
Testing if nothing present to commit or no CVS Entries present from
a cvs -nq update

$count = @result = `cvs -nq update 21`;
if ($count == 0) {
print colored ("Nothing to commit\n", 'red on_yellow');
return 0;
}

$count = @result2 = grep /update aborted/, @result;
if ($count == 1) {
print colored ("No CVS Entries presents\n", 'red on_yellow');
return 0;
}

---
This is how I get the new and previous version after a commit so that
I can do a rtag on the new version:

@result2 = `cvs -q commit -m\"$scr\" $_`;
($file) = grep /Checking in/, @result2;
$file =~ s/Checking in (.*)\;$/$1/;
($new_rev) = grep /new revision:/, @result2;
chomp $new_rev;
$new_rev =~ s/.*new revision: ([\d\.]*); previous.*$/$1/;
@result2 = `cvs rtag -F -r $new_rev $scr $file`;
print colored (" @result2", 'magenta on_white');

---

They might give you some ideas.
Dale Miller


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



RE: loginfo - keeping a checked out copy

2000-12-14 Thread Kelleigh Moulton

Thank you.

Actually, I figured out the problem...if I put both the call to log.pl
(which should go first) and the cvs update in parens, it works.

thanks all,

Kelleigh

 -Original Message-
 From: Derek R. Price [mailto:[EMAIL PROTECTED]]
 Sent: Thursday, December 14, 2000 9:32 AM
 To: [EMAIL PROTECTED]
 Cc: [EMAIL PROTECTED]
 Subject: Re: loginfo - keeping a checked out copy
 
 
 The log.pl script relies on some of hte information which you are
 slurping and writing out with the 'cat' following 'date' below.  The
 solution is to call an intermediate script which reads in stdin and
 writes it out to two separate child processes (below, the 
 simple echo to
 the log  log.pl).  Alternately, you could hack log.pl to write to the
 text log as well as to send the mails.
 
 Derek
 
 --
 Derek Price  CVS Solutions Architect ( 
http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
Always glad to share my ignorance - I've got plenty.

[EMAIL PROTECTED] wrote:

 I'm having a bit of difficulty with loginfo

 we're set up to have our webpages update automatically when a checkin
 is done - I've got that working (from Cedarqvist). I also use the
 log.pl to send the CVS commit mails out.

 Is there some way to have both actions perform for one checkin?

 At first I could only get either the updates or the mail. Now I get
 the update and mail, but it doesn't seem to be coming from the log.pl
 as it's only giving the directory the change was made and the author.
 It's not giving the modified filename or the comments.

 here's the line out of my loginfo file:

 ^docs ((date; cat; (sleep 2;
 cd /workspace1/cvstree/docs; /usr/local/bin/cvs -q update -d) )
  /workspace1/cvstree/docs/updatelog.txt 21
 ; $CVSROOT/CVSROOT/log.pl %s -u ${USER} -m [EMAIL PROTECTED]  -f
 $CVSROOT/CVSROOT/docs.log  -s)

 what am I doing wrong?

 ADVthanksANCE,

 Kelleigh


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



RE: how to: SSH CVS Linux(server) Win(client[s])

2000-12-14 Thread Robert Schott



  cvs:/home/validuser/.ssh/autorized_keys - I even tried a
  'ssh -l validuser cvs' and this worked!)
 
 As I understand it, the command above would attempt to log into a 
 host with
 the hostname 'cvs'.

Derek,

yes this is correct. Yesterday night I successfully took the cygwin
solution to work. But there is a bad taste in there:

a) I still don't understand exactly what goes on in there (grin
   yes I have to read on... a matter of time). I have the problem
   not to know the syntactical things for tunneling.
   At the moment I fixed the environment variables but I really
   would like to know how to do it COMPLETELY at the command 
   line. That's the point.

and..

b) The Windows ME DOS box (webdave) I used for testing purpose 
   shows a nasty thing when using ssh. 
   Because CVS uses SSH internally and cygwin SSH does
   not terminate gracefully after any CVS write cmd. The 
   communication hangs forever when it finishes. But the files
   are there when interrupting with Ctrl-C. I tried as suggested
   UsePrivilegedPort no in config file but that does not help, 
   either.

I wondered when scp'ing from client to linux host. The file was
there but I had to Ctrl-C the cmd, to get back to the DOS prompt.
Another guy told me he has some similar effects seen on a Win2k 
machine. So it seems to be a general problem.
This effect is reproduceable at this machine. Did not test it with
98/95, yet - maybe in near future.

Only clean solution seems not to use Windows world. Well, maybe in 
some days... currently it is not possible. 


Robert

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



Re: SV: Different kind of access methods

2000-12-14 Thread Larry Jones

Richard Cobbe writes [quoting me]:
  
  Doing :local: access to an nfs/smb/samba mount repository frequently
  doesn't work reliably at all, which is why it is discouraged. 
 
 Why is this?  In particular, what sort of problems can one encounter when
 using this sort of system?  (Is it perhaps related to the lockfiles CVS
 uses to prevent multiple people from modifying the repository at the same
 time?)

There is a potential locking problem with NFS (although no one has ever
reported it actually occurring in practice), but it only causes denial
of service -- a client can create a lock without knowing it so the lock
will never be cleared -- not loss of data.  The more serious problem is
that most implementations are buggy.  The bugs tend to be
interoperability bugs -- as long as all the machines are running the
same code, everything works fine, but when you try to mix different
systems things start to go wrong and both vendors insist that the
problem must be with the other system.

If the bugs cause immediately noticeable errors, then it's annoying
(perhaps to the point of unusability), but at least you don't lose any
data.  Unfortunately, it's not uncommon for the bugs to instead cause a
chunk of data in the middle of a repostory file to be replaced with NUL
bytes.  Because of the way the RCS file format works, it's entirely
possible that you won't notice the corruption for quite some time and
there's a good possibility that when you do notice it, you'll no longer
have any backup copies old enough to recover the lost data.

-Larry Jones

Hey Doc, for 10 bucks I'll make sure you see those kids in the
waiting room again real soon! -- Calvin

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



Re: Processing CVS errors

2000-12-14 Thread Larry Jones

Reinstein, Shlomo writes:
 
 Is there some way to process CVS errors in software, other than reading the
 text describing them from the standard error?

The best way to do that is to use the client/server protocol rather than
using the CVS command.  Unfortunately, that is not a small task.

-Larry Jones

You can never really enjoy Sundays because in the back of your
mind you know you have to go to school the next day. -- Calvin

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



Re: SV: Different kind of access methods

2000-12-14 Thread Noel L Yap

I had heard that mkdir under NFS is not an atomic operation.  If this is true,
then CVS locks won't be atomic either, thereby making it possible for two
developers to checkin the same things at the same time -- this would be very
bad.

Noel




[EMAIL PROTECTED] on 2000.12.14 10:42:01

To:   [EMAIL PROTECTED]
cc:   [EMAIL PROTECTED] (bcc: Noel L Yap)
Subject:  Re: SV: Different kind of access methods




Richard Cobbe writes [quoting me]:
 
  Doing :local: access to an nfs/smb/samba mount repository frequently
  doesn't work reliably at all, which is why it is discouraged.

 Why is this?  In particular, what sort of problems can one encounter when
 using this sort of system?  (Is it perhaps related to the lockfiles CVS
 uses to prevent multiple people from modifying the repository at the same
 time?)

There is a potential locking problem with NFS (although no one has ever
reported it actually occurring in practice), but it only causes denial
of service -- a client can create a lock without knowing it so the lock
will never be cleared -- not loss of data.  The more serious problem is
that most implementations are buggy.  The bugs tend to be
interoperability bugs -- as long as all the machines are running the
same code, everything works fine, but when you try to mix different
systems things start to go wrong and both vendors insist that the
problem must be with the other system.

If the bugs cause immediately noticeable errors, then it's annoying
(perhaps to the point of unusability), but at least you don't lose any
data.  Unfortunately, it's not uncommon for the bugs to instead cause a
chunk of data in the middle of a repostory file to be replaced with NUL
bytes.  Because of the way the RCS file format works, it's entirely
possible that you won't notice the corruption for quite some time and
there's a good possibility that when you do notice it, you'll no longer
have any backup copies old enough to recover the lost data.

-Larry Jones

Hey Doc, for 10 bucks I'll make sure you see those kids in the
waiting room again real soon! -- Calvin

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





This communication is for informational purposes only.  It is not intended as
an offer or solicitation for the purchase or sale of any financial instrument
or as an official confirmation of any transaction. All market prices, data
and other information are not warranted as to completeness or accuracy and
are subject to change without notice. Any comments or statements made herein
do not necessarily reflect those of J.P. Morgan  Co. Incorporated, its
subsidiaries and affiliates.


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



Re: SV: Different kind of access methods

2000-12-14 Thread Larry Jones

Noel L Yap writes:
 
 I had heard that mkdir under NFS is not an atomic operation.  If this is true,
 then CVS locks won't be atomic either, thereby making it possible for two
 developers to checkin the same things at the same time -- this would be very
 bad.

It depends on how you look at it.  It's probably more accurate to say
that mkdir is atomic but not idempotent; that is, mkdir *on the server*
is an atomic operation -- which means that there is no chance of two
different CVS clients thinking they both own the same lock -- but if the
client repeats the operation (which it will if it doesn't receive the
reply from the server for some reason) it will fail and the client will
think that it doesn't own the lock when it really does.  This leads to
denial of service since you have a lock that will never get deleted, but
it can't cause data corruption.

-Larry Jones

These pictures will remind us of more than we want to remember.
-- Calvin's Mom

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



Performance

2000-12-14 Thread James Stauffer

What can be done to improve the performance of CVS?  Is this topic 
already covered on some website or FAQ.  We use pserver to connect to 
a remote RedHat machine.


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



cvs history error...

2000-12-14 Thread Robert Bresner

Howdy --

granted we have a 680MB history file.
Could that be why I'm getting this error?

cvs history -T -a olfmake.defs 
Terminated with fatal signal 11

cvs -v
Concurrent Versions System (CVS) 1.10.8 (client)
Copyright (c) 1989-1998 Brian Berliner, david d `zoo' zuhn, 
Jeff Polk, and other authors
CVS may be copied only under the terms of the GNU General Public License,
a copy of which can be found with the CVS distribution kit.
Specify the --help option for further information about CVS

The history file is sitting on a Solaris machine with cvs 1.10.8 server.

Most of the history file was created with cvs 1.9.x, could that be the
problem? And what is a fatal signal 11, anyway?

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



Re: Performance

2000-12-14 Thread Larry Jones

James Stauffer writes:
 
 What can be done to improve the performance of CVS?  Is this topic 
 already covered on some website or FAQ.  We use pserver to connect to 
 a remote RedHat machine.

I don't know of anything specifically about CVS, but it's pretty much
like any other tuning process.  First, you have to define what you mean
by "improve the performance": are you just interested in improved
response time or are you interested in reducing its system resource
usage (e.g., physical memory, swap space, disk space, etc.)?  What is it
that's slow: checkouts, checkins, etc.?  What is taking up all the time:
the client process, the server process, or the network communications? 
If the client and server machines are fast but the network connection is
slow, you may want to use the global -z option to compresses the network
traffic; if the network is fast but one or both machines are slow, you
probably don't want to use -z.  If the problem is the client or server
process or both, what is making it (or them) slow: are they not getting
enough CPU time, are they spending lots of time waiting for I/O, are
they spending lots of time paging or (heaven forbid) swapping?

For general tuning information, I recommend "System Performance Tuning"
by Mike Loukides (O'Reilly  Associates, www.ora.com).

-Larry Jones

I take it there's no qualifying exam to be a Dad. -- Calvin

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



Re: cvs history error...

2000-12-14 Thread Larry Jones

Robert Bresner writes:
 
 granted we have a 680MB history file.
 Could that be why I'm getting this error?
 
   cvs history -T -a olfmake.defs 
   Terminated with fatal signal 11

Signal 11 is SIGSEGV (segmentation violation) which is frequently caused
by running out of memory.  Are you sure the server is running CVS 1.10.8
and not some earlier version?  Versions prior to 1.10.8 read the entire
history file into memory at once, so that could explain the problem
(although CVS should have reported being out of memory rather than
crashing with a signal).  1.10.8 and later read the history file a chunk
at a time and only save the individual records you're interested in, so
they're much less likely to exhibit the problem, although it is still
possible.  How much virtual memory do you have available on the server?

-Larry Jones

Years from now when I'm successful and happy, ...and he's in
prison... I hope I'm not too mature to gloat. -- Calvin

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



Re: CVS + ssh == hack

2000-12-14 Thread Stephen Kennedy


I forgot to give the URL of the client cvs ssl patch:
http://konst.org.ua/eng/software/other/info.html

And the url of the server side:
http://www.rickk.com/sslwrap

Stephen.




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



Re: cvs history error...

2000-12-14 Thread Derek R. Price

Robert Bresner wrote:

 Howdy --

 granted we have a 680MB history file.
 Could that be why I'm getting this error?

 cvs history -T -a olfmake.defs
 Terminated with fatal signal 11

 cvs -v
 Concurrent Versions System (CVS) 1.10.8 (client)
 Copyright (c) 1989-1998 Brian Berliner, david d `zoo' zuhn,
 Jeff Polk, and other authors
 CVS may be copied only under the terms of the GNU General Public License,
 a copy of which can be found with the CVS distribution kit.
 Specify the --help option for further information about CVS

 The history file is sitting on a Solaris machine with cvs 1.10.8 server.

 Most of the history file was created with cvs 1.9.x, could that be the
 problem? And what is a fatal signal 11, anyway?

According to my POSIX.1 spec, signal 11 is SIGSEGV.  If it has to do with running
out of memory, something not improbable with a 680MB history file, I would think
that a NULL pointer returned by a bad alloc call had been accessed, but those are
usually hard to get with CVS due to the way it allocates memory.  Of course, I
suppose it's also possible that cvs 1.10.8 expects a history line longer that 1.9
provides or some such, though I haven't heard of this coming up in the past.  Can
you send me a debugger backtrace from the core your server dumped?

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
A cubicle is just a padded cell without the door.




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



Re: SV: Different kind of access methods

2000-12-14 Thread Mike Castle

On Wed, Dec 13, 2000 at 08:21:15PM -0600, Richard Cobbe wrote:
 I should probably have been clearer---our repository is currently on a
 disk that we mount via NFS.  What are the issues involved with that
 specific situation?

Buggy NFS implementations.  Client and server.

Not to mention performance.

One particular item I've seen is Linux's buggy user space nfsd, especially
with dealing with nfsd exporting two partitions (in my case, /usr and
/usr/src were two partitions on the server, but exported simply as /usr).

I could reliably (that is, it would break in exactly the same spot each
time), by doing a rather large co (test case I used was a series of cvs
imports for the entire historical linux binutils releases).  What I was
seeing was a file turning into a directory, or vice-versa.  (I imagine it
had something to do with an inode in the cvs repository matching an inode
in something like /usr/bin, and the client getting all confused).

Granted, this was a Linux bug.  But it definitely shows the potential
problems.

And getting back to performance, the client (nfs/smb/nw) has to
open/read/write/close the entire archive file.  This sucks over a
networked file system.  Better to let the local machine do all the
accessing and send you just the pertinent parts.

mrc
-- 
   Mike Castle   Life is like a clock:  You can work constantly
  [EMAIL PROTECTED]  and be right all the time, or not work at all
www.netcom.com/~dalgoda/ and be right at least twice a day.  -- mrc
We are all of us living in the shadow of Manhattan.  -- Watchmen

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



RE: Performance

2000-12-14 Thread Pyatt, Scott

Performance can be addressed several ways.

If you have a somewhat large module, but you only need a subset of it,
consider either breaking the module up into smaller modules or creating
entries in the modules file such that when you perform a "cvs get module"
you are only receiving what you need.  The caveat is that if you are using a
"module" defined in the modules file as opposed to a module under $CVSROOT,
then you should use "cvs update -d" only where necessary to pickup new
directories.  Otherwise you will be picking up all of the directories that
the original "cvs get" didn't picked up whether you wanted them or not,
thereby negating the reason you setup the modules file entry.

Bottlenecks to the CVS server are usually, in order of severity, network,
disk I/O and finally CPU (sometimes memory).  Having a good admin that can
monitor what is happening and make the appropriate tuning tweaks and
recommendations is invaluable.

Methods of increasing network throughput for your specific needs can differ
for almost every case.  It is important to understand where the network
bottlenecks exist.  I have done several things over the years to improve
network performance, such as re-segmenting the network, replacing hubs with
switches, replacing 10Base-T equipment with 100Base-T, using dedicated IP
addresses for specific applications, purchasing faster dedicated lines
between sites, dedicating a minimum percentage of network bandwidth for a
specific application.  However, in each case it was specific to the
situation.  There is rarely a one size fits all solution and cost can play a
major factor.  I would suggest talking to the appropriate person in IT/MIS
to see what can be done.

There are a whole host of disk I/O solutions as well.  For the most part,
most of the disk intensive servers I setup, I use hardware RAID setup with
RAID 0+1 (striping over separate SCSI channels), using the fastest drives
and fastest I/O solution I can get.  If users will tend to be reading and
writing many of the same files and directories, you might look into storage
solutions that provide battery backed cache (not cheap).

If your CPU or memory bound you may want to try tuning the system and/or
upgrading.  

Hope this helped.
-Scott Pyatt

-Original Message-
From: James Stauffer [mailto:[EMAIL PROTECTED]]
Sent: Thursday, December 14, 2000 9:49 AM
To: [EMAIL PROTECTED]
Subject: Performance


What can be done to improve the performance of CVS?  Is this topic 
already covered on some website or FAQ.  We use pserver to connect to 
a remote RedHat machine.


___
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



Multiple developers in one work area

2000-12-14 Thread Parand T. Darugar

Hello,

  I'd like to setup CVS for a web based project
that involves multiple developers. We would like 
to have those multiple developers access the
same directory of source code, as opposed to each
having their own working area. The reason behind this
is that everyone needs to use the same web server
for testing, and hence the same working area.

  In traditional situations, each developer is able
to build and test the project in their own working
area. With the web based project, there is no build
process as such, and testing requires a fairly complex
setup. Therefore, we would like to share a common code
area, and access the files with RCS locking style to
avoid trampling on each other's work.

  Why not just use RCS? CVS offers better branching
facilities, as well as better web integration, etc.

  Given that scenario, can CVS be used? I'd like the
files to be read-only, and made available for editing
only after a "cvs edit". This works fine with "watch on",
but when the second developer tries to "cvs edit" files
we run into permission problems, since the files are
owned by the 1st developer.

  I've tried playing with permissions, but haven't hit
a combination that works. Any ideas?

Best,

Parand Tony Darugar

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



Re: cvs history error...

2000-12-14 Thread Robert Bresner



Larry Jones wrote:
Are you sure the server is running CVS 1.10.8
and not some earlier version?  

Pretty sure. 
I have this alias:
alias cvs='/usr/local/ultra/cvs-1.10.8.stripped'
I have this in my home dir:
lrwxrwxrwx   1 rbresner staff 
36 Dec 11 16:15 cvs - /usr/local/ultra/cvs-1.10.8.stripped

Also, when I tried doing CVS history commands with the older cvs (1.9.x)
it would die immediately with "out of memory" errors. 
With 1.10.8, the history command will sit for a long long while trying
to get through our history, then it will die with the signal 11.

 How much virtual memory do you have available on the server?
There is 256MB memory, 1GB virtual memory.
The history file is 619918470 bytes.

Egads.

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



Re: cvs scripts

2000-12-14 Thread Robert Bresner

Howdy --

I wrote a perl script sometime back that will format 
the output of a cvs status. It takes a bunch of +/! 
options to turn on or off the info you'd rather see
Depending on the method of execution, it will either
parse a 'cvs -n update' or cvs status (-F), or, it
will compare timestamps of files against the timestamps
reported in the CVS/Entries files (-B).

If there's any interest, I can post it as an attachment
to the list. 

To wit:
==
cvstat
Sticky Tag Status   File
   Locally Modified cdd.bat
   Locally Modified cvlog
   Locally Modified cvstat.bat
   Needs Update cvsu
   Locally Modified hmake.bat
   *Needs Merge make_release
   Locally Modified makelocal.bat
   Locally Modified mktemplate
   Locally Modified ophone.bat
   Locally Modified runolfscript

 cvstat -h
cvstat prints status and sticky tags from cvs.
-r tag  report deviations from this tag (Also for Blazingly 
Fast Mode(tm) )
-B  Blazingly Fast Mode(tm). It really is fast, ya know.
-l  do not recurse
-t|-tt  display start|finish time
-c  hide tags column when not showing tags
-L  display single-line file list at end for easy 
cut'n'paste 
-F  Fast-Stat. WARNING: Does not report "needs first 
checkout" files
-q  quiet-mode. Hide warnings, only show errors.
-o  diplay filename info only, no tags, no headers, no 
status.
-z# passed on to CVS. Sets the compression level on 
communications with the server.
-i  Ignore CVSTAT_ARGS
-b  Do not display the branch revision when +T
-d cvsroot  set CVSROOT to something other than its current value
-R  use CVSROOT env var with -d
-s VAR=VAL  set some other cvs var to a value
-st sort by TAG
-ss sort by STATUS
-sf sort by FILENAME
-h  display this help message
The following status options can be used in combinations
!   turns off the following ...
+   turns on the following ...
U   display up-to-date files (default: Off)
M   display locally modified files (default: On)
A   display locally added files (default: On)
R   display locally removed files (default: On)
C   display files with conflicts (default: On)
P   display files that need patch|checkout (default: On)
T   display sticky tag info. (default: Off)
Q   display files not in cvs repository (default: Off)
!!  Turns off all everything. Useful first option.
++  Turns on everything. useful first option.
Example useful commands:
   cvstat +TU !ARCMPdisplays only files up-to-date and the sticky tags
   cvstat +MARC !P  displays files you want to check in
   cvstat !! +Q show only the unknown files
   cvstat ++ !M show everything except locally modified files
When using -o option, only filenames are displayed (useful for shell scripts). 
Beware
  that all files matching the status options are displayed. When using -o is a 
good time
  to specify the status options.
If sorting is turned on, the whole process takes a little longer, even with -F
Command line args override CVSTAT_ARGS args
Blazingly Fast Mode only reports locally modified files. It does not check 
against
 the repository, so cannot determine if a file is out-of-date.

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