Re: Any consequences over removing a subdir permanently?

2005-07-14 Thread Todd Denniston
S I wrote:
 
 Thank you as always.
 
 Do you think though that deleting a dir and later retrieving a dead file
 would confuse the dead file where to implant itself?  

Well ... if you rm -fr'd the directory structure the file was in, you'll
likely be confused yourself, because not only is there no dead file to
retrieve but there is no attic. :)

This is the reason it is _usually_ a _very_ BAD idea to remove things from
the repository.  Because when they are gone from the version control file
system / database they are GONE, NOT COMING BACK, DESTROYED.

 I have a dummy
 repository and I'm going to try this to find out the outcome.

That is good practice, keep it up. :)

 
 The subdirs I speak of are about 5 years old and don't think anyone would
 care.  

Be SURE, don't just think it. 8O

 We have restructured our code so many times and we may soon port over
 to a completely clean repository without its history.  So in our case it
 shouldn't matter but I see your point about NOT exercising this.

A middle ground might be:
1) tell everyone to commit all changes they have currently.
2) backup to cold storage media.
3) copy the CVS tree to a new location.
4) do a checkout from the new location and then do a `cvs watch on -R`
against that checkout.
5) find and mark all the directories in the new copies location read only,
and setup a lockdir for it so people can do readonly checkouts. (lock it
down)
6) again backup to cold storage media.
7) remove the unused directories.

This should leave you with a copy in the new location for people who need to
know the ancient history, a copy to recover from if you hit enter on the rm
in the wrong directory, and a smaller repo but with all the history since
the each of the files were last restructured.

 
 Thanks. :)
 
SNIP
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Any consequences over removing a subdir permanently?

2005-07-14 Thread Todd Denniston
Todd Denniston wrote:
 
Clerity demands I respond to my own post. sorry.

 S I wrote:
 
SNIP
  We have restructured our code so many times and we may soon port over
  to a completely clean repository without its history.  So in our case it
  shouldn't matter but I see your point about NOT exercising this.
 
 A middle ground might be:
 1) tell everyone to commit all changes they have currently.
 2) backup to cold storage media.
 3) copy the CVS tree to a new location.
 4) do a checkout from the new location and then do a `cvs watch on -R`
 against that checkout.
 5) find and mark all the directories in the new copies location read only,
 and setup a lockdir for it so people can do readonly checkouts. (lock it
 down)
 6) again backup to cold storage media.
SNIP
 7) remove the unused directories, in the original (and still current)
version of the repo, i.e., no one has to change their CVSROOT values.

8) if people still have sand boxes from before there may be some difficulty
in doing updates and such, have them check that `cvs update -dP` command
works with out error at a minimum. If your really sure just have them remove
all their old sandboxes and start fresh.

 
 This should leave you with a copy in the new location for people who need to
 know the ancient history, a copy to recover from if you hit enter on the rm
 in the wrong directory, and a smaller repo but with all the history since
 the each of the files were last restructured.

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Smart CVS

2005-07-13 Thread Todd Denniston
Liquidchild wrote:
 
 The reason i am using locks is because the files are XML, and as far as
 i know when CVS trys to merge XML it can result in invalid XML.  I do
 however remember on previous uses of CVS the option to check stuff out
 as read only. However I cannot find that option now, this option was on
 the WinCvs client I am sure.
 

I have not searched the net for problems with XML and CVS, but I thought XML
was text, and as such should be reasonably merge-able by CVS ... that is
unless your XML contains binary blobs like what MS Word kicks out. I assume
then that you have either seen some problems yourself or read about it on
line?

 Do i require to do some sort of configuration on the Cvs Server to
 allow the locking of files?  I have read the above manual, well
 actually the manual for 1.11.17, as this is what I am using, it just
 seems to describe the difference between reserved and normal edits.
 

In most situations, with reasonable developers, reserved edits and watch
notification, can take the place of locking.

i.e., you can do `cvs watch on *XML` [1] setup the notify administrative
file and have the developers do 
`cvs watch add -a all file_they_work_on` then have them do `cvs edit
filename` anytime they need to edit a file.  Then here is the hard part, if
they get a notification that another user has begun editing a file, they
should contact that user and negotiate with them the time needed to finish
their own edits.

You might also want to look at the 1.12.x series, IIRC it has the advisory
lock patch in it, and can stop the edit from working, if there is someone
else editing the file, unless the developer knowingly bypasses the edit with
an option. i.e., it is a stronger (extended) form of the 'cvs watch on` +
`cvs edit` commands.




 I have been able to check out the repository but then had to manually
 tell it to unedit all the files, so they appeared as locked.  

Had you already done `cvs watch on` on the files? if you had then they
should have come as read-only (locked).

 Then when
 i commit a change to a file it just leaves it as editable, were in
 previous use of cvs it would go back to being uneditable, i.e read
 only.

Then I would expect you had not yet done a `cvs watch on` on those files, 
the manual indicates [2] :
the cvs commit command, which checks in your changes and returns the
watched files to their usual read-only state

 
 Does anyone know if i need to do something else that I may have not
 done.

See above and below. :)

 
 Thanks all for the extended help
 
 S.

[1] https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_10.html#SEC88


[2] https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_10.html#SEC91
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Inaccurate documentation re cvs tag

2005-07-12 Thread Todd Denniston
Ming Kin Lai wrote:
 
 Sec 4.5 of 1.11.20 cederqvist says: running the cvs tag command without
 arguments causes CVS to select the revisions which are checked out in the
 current working directory.  ... One potentially aspect of the fact that cvs
 tag operates on the repository is that you are tagging the checked-in
 revisions, which may differ from locally modified files ...
 I think it is somewhat confusing, especially to new users.  At first it
 talks about a checked-out revision, then it talks about a checked-in
 revision. Well, I understand they mean the same, at least in some cases; but
 it is not quite accurate and probably confusing.
 1. The problem with checked out is that it does not literally mean
 checked out.  

Actually it does literally mean the version which was checked out, not what
you currently have (i.e., not possible local mods).

 Suppose I check out a file with revision 1.1, modify it and
 commit it, so now I have revision 1.2 in my working directory.  

Well this commit does do essentially a checkout (actually update, which is
why things like $Log:$ and $Id:$ get updated).

 I run cvs
 tag.  And 1.2 gets tagged.  

Because you checked out (updated to) 1.2 by committing it.

 Literally 1.1 is the revision I checked out.  I
 did not check out 1.2, unless commit implies check out - but I think it's
 better separate them; after all ci and co are two different commands.

It was learned long ago that less confusion was created by cvs handling the
immediate update, otherwise cvs would have a hard time being Concurrent
Versions System, the command you imply are serial locking commands and CVS
is a parallel merging system.

  Also,
 stating that a checked-out version is tagged may give the wrong impression
 that the user (unnecessarily) needs to do a cvs co before tagging.

No the update makes it the checked out version, this is simply a
misconception on your part.

 2. The problem with checked in is that there may not be any check-in (cvs
 ci).  Suppose I check out a file for the first time and without modifying
 it, run cvs tag.  The one and only one revision gets tagged; but there is
 never any check-in.  

If you checked it out there was a check in, which created 1.1.

 Stating that a checked-in revision is tagged may give
 the wrong impression that the user (unnecessarily) needs to do a cvs ci
 before tagging.
 
 Anyone agrees or disagrees?

Yes, see above.

 
 Incidentally, the entry for tag in Appendix B (page 132) says Add a
 symbolic tag to checked out version.  I think checked out need to be
 re-worded, and version probably should be revision.

In most cases people tag an entire baseline (which is also the better
practice), which has a version, but also has many files which have
revisions. It seems clear as written from here.

 
 Finally there are a number of places in cederqvist that use the phase
 checked out.  I am not sure all mean literally checked out.  For
 example, Sec 1.3.4 says diff compare[s] the version (revision?) of driver.c
 that you checked out with your working copy.  Again, suppose I check out a
 file with revision 1.1, modify it and commit it, so now I have revision 1.2
 in my working directory.  I run cvs diff.  There is no difference.  The
 comparison is NOT between 1.1 (the last revision I checked out (using cvs
 co))

see above information about your misunderstanding because cvs commit does an
update to get you synchronized with what is in the baseline after commit.

 and 1.2.  I think the phase checked out should be used with care.

It is, you simply have a little learning to do.

 
 Ming Kin Lai
 
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Annotate of Log output wrong

2005-07-12 Thread Todd Denniston
Ming Kin Lai wrote:
 
 This is to continue the discussion of the thread with the same subject that
 started on Dec 7, 2004.
 The original discussion appeared to focus on the expansion of the $Log$
 keyword both in the file and as output by the cvs annotate command (under
 version 1.11.17); but I think other keywords such as $Id$ have the same
 problem.  I am running CVS version 1.11.6 on Solaris.  After I committed a
 file that contains some keywords, (I did not perform a checkout or update
 after that,) the file in my working directory shows the following:

See my reply to your 'Inaccurate documentation re cvs tag'.
commit does an update to keep things consistent between your sandbox and the
repo when it gets done.

BTW I think you should stop thinking of ci and co, which are RCS commands,
and start thinking in terms of checkin and checkout which are CVS commands,
and imply a bit more work. (although CVS will happily let you abbreviate
checkin with ci and checkout with co, do not try to abbreviate the
concepts.)

SNIP
 Annotations for compiler.c
 ***
 1.3  (mingl12-Jul-05): $Id: compiler.c,v 1.2 2005/07/12 02:32:17
 mingl Exp $
 1.3  (mingl12-Jul-05): this is $Date: 2005/07/12 02:32:17 $
 1.2  (mingl12-Jul-05): $Log: compiler.c,v $
SNIP 
 From the leftmost column, it is obvious that the latest revision is 1.3;
 however, the keywords expand to only revision 1.2.
 
 1. Todd Denniston states that If I Recall Correctly, $Log:$ is expanded on
 checkout, so the last
 (chronological) log entry seen in a Log in a sandbox has not yet been
 checked into CVS.  Therefore, the repository knows nothing about it, and can
 not annotate what to it does not exist.  (Larry Jones says similar thing:
 the $Log$ keyword (not command) is expanded
 by checkout/update.) 
 I think the first half of the sentence is inaccurate:
 apparently the keywords are expanded (in the working file) upon commitment
 (check-in), i.e. no subsequent checkout is needed. 

No you misinterpret the situation, because commit syncs your sandbox with
the repository after it does the commit.

 (What Todd probably
 meant is: $Log$ is expanded in the ,v file on checkout. - But see my Points
 2 and 3 below.)  And I think check in and check out should not be
 confused.  ci and co are two separate commands, aren't they? 

Yes and NO.
co can be performed separate, but in a Concurrent situation, a ci must be
followed with a co to have your sandbox in sync, CVS handles it for you.
(some where around here I expect Larry, Derek or Greg to hit me with a clue
stick.)

 The keywords
 are expanded in the working file on checkin, not checkout.  In fact, Section
 12 of the cederqvist 1.11.20 manual states  Embedded strings of the form
 $keyword$ ... in a file are replaced ... whenever you obtain a new revision
 of the file.  The way I interpret the phase whenever you obtain a new
 revision of the file is in a working file that has a new revision number.
   So, when you commit, you obtain a new revision.  You don't need to check
 out to obtain a new revision.  

correct you obtain the new revision because commit updates your local
directory to re-expand the RCS keywords.

 Now, what annotate shows is another
 question.  Section A.7.1 of cederqvist says [annotate] print[s] the head
 revision of the trunk, together with information on the last modification
 for each line.   I will discuss that in Point 4.
 
SNIP
 3. Todd says the log entry not yet been checked into CVS.  I think that is
 the implementation detail that users should not be concerned with.  From
 users' perspective, all cederqvist in effect says is After a local file
 with a keyword is checked in, the keyword in that file is expanded to
 reflect the new revision information.  Maybe Todd knows that the keyword is
 actually not expanded in the ,v file at the time of the check-in so the ,v
 file does not have the keyword expanded to reflect the new revision
 information.  But I am hesistant to use some undocumented implementation
 details, rather than cederqvist, to explain the program behavior.

Actually, it is a known thing that the RCS keywords cause problems /
misunderstandings and it is expected that if you really want to use them you
will do enough reading and experimenting to understand their intricate
problems in a concurrent environment, i.e., they were made to be used in RCS
not CVS and their behavior because of the RCS history makes them act kind of
badly under CVS.

 
 4. cederqvist says annotate should print the last modification on each line
 (Sec A.7.1). 
 It does not say whether the modification is in respect to the
 local file or the ,v file.

partially agreed, the manual does indicate that it is printing the head
revision of the trunk which implies the version from the repository. I am
not certain (someone needs to test) if you are on a branch if annotate does
the branch instead of the trunk.



assuming annotate will show branch information if you

Re: How to share files between CVS projects?

2005-07-12 Thread Todd Denniston
Adam Lipscombe wrote:
 
 Folks,
 
 Apologies if this question is a no-brainer. I have basic CVS knowledge but
 not more.
 
 I have 2 versions of source code. In each version only a very few files are
 different - about 5 in total out of a total of @950.
 What I want to do is to share the files that are not different to be shared
 between projects, and to maintain separate versions of the 5 differing
 files.

1) If you mean that you have two projects that use the same source, however
each has some files with specific mods in just a few of the files and only
those changes can not share between the two, I would think what you would
want is to branch (cvs tag -b tagname).

the further choice would be, do you do development on the trunk in a generic
manner and have two branches and update the branches only when the generic
set has stabilized. or do you have one of the projects be the main one (on
the trunk) and only update the other one on the branch when the main one
stabilizes, i.e., Third Party Codeline[2].

I suggest look at the ACME project [1] for ideas.

[1] http://www.cmcrossroads.com/bradapp/acme/
http://www.cmcrossroads.com/bradapp/acme/branching/
[2]
http://www.cmcrossroads.com/bradapp/acme/branching/branch-structs.html#ThirdPartyLine

2) If on the other hand you have a situation where each project essentially
use a library of other code and have completely different non common files,
then having the non common in their own sub repositories and using ampersand
modules would be a good idea.

 
 In VSS I think one can do this by pinning the files.
 But I am not sure how to achieve this with CVS.
 


-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Smart CVS

2005-07-12 Thread Todd Denniston
Liquidchild wrote:
 
 Guys
 
 Finally got it all working! woho!  

Great.

 Only question I have left is can you
 make files read only in smartCVS so that users have to select the file
 for editing first, to stop other users being able to edit the same file
 at the same time?
 
Canonical answer: Why would you want to do that? Are you working with some
strange binary format?

Full answer: If you really think you wan to do that, read the manual section
10 Multiple developers[1], the answers you seek are there. 

[1] https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_10.html#SEC82
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: How do I get a barebone stripped off list of files changed between2 builds?

2005-07-12 Thread Todd Denniston
S I wrote:
 
 Hi
 
 I'm trying to get a stripped down list of files modified and committed
 between 2 builds or a build and my working folder in CVS.  I would just like
 to see the path/filename only.  Compare it to a list received from the
 developers to verify we're in synch, do the build and deliver their
 corresponding .class files.
 
 Many of the CVS commands (log, tag, history, diff, etc) generate way more
 than I need.  Do I need to write scripts that parse out what I need?  Is
 there a cvs command to do this so I can avoid scripting?
 
 For instance I did the following command:
 
 cvs history -ac -D yesterday  cvsHist1.txt
 
 And this is yet the closest I've got to what I needed.
 
I am usually happy with what cvs2cl gives me. I do however have a script
which does:
PREVIOUS_DATE=`ls -l --full-time $OUTFILE  2/dev/null| \
awk '{print $7 \ \ $8 \ \ $9 \ \ $10}'`

cvs his -calD $PREVIOUS_DATE |sort -rb -k 7,7 |\
sort -mub -k 7,7|sort -b -k 8,8 $TMP_FILE

the sorts get rid of redundant information to hopefully just show the last
change of each file.

$OUTFILE is a file that was created when the script was last ran, and well I
expect you know what $TMP_FILE is. It still has a lot of information in it,
but I find that info useful, I believe if you take $TMP_FILE and run it
through the following awk it will have just what you want:

 cat $TMP_FILE|awk '{print $8 / $7 }'

as I indicated I only use it to see what has changed between runs, more of a
disaster recovery tool than anything (and yes I have _used it for that_),
now that I have cvs2cl and am using CVS vs SCCS.
Your biggest trick is either creating a file with the date you want, or
building up the $PREVIOUS_DATE string by hand.

 Thanks
 
 Steve

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Pbm updating sandbox

2005-07-11 Thread Todd Denniston
Muriel Delaveau wrote:
 
 Hello,
 An user has put a new source in the repository.
 But other users can't even see the new source when updating their
 sandbox even which tkcvs.
 
 What can be the reason ?
 
 Thanks for your help.

Assumption, the user who put the new source in the repository, did so by
using `cvs add file` and `cvs commit file`, and there is a ,v for the file
in the repository.

Q1) is the new file in a new directory, or a directory that never had any
thing in it before?
Reason they don't see it: their sandbox has been optimized to work on what
was known at the time of their checkout, i.e., don't waste time looking for
things we did not find the first time.
Fix, have every one else `cvs update -dP`.

Q2) is the user who put the new source in the repository, working on a
branch, or a different branch from the rest of the users (the trunk can be
considered a branch for consideration of this question)? 
Reason they don't see it: branches exist for work separation and segregation
of changes so one group will not affect another until they are ready to be
affected.
Fix, read the CVS manual on merging changes from branch to branch. (-j
options to update or checkout, IIRC)

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Locking CVS

2005-07-11 Thread Todd Denniston
S I wrote:
 
 Hi everyone,
 
 I'm planning to lock cvs today getting ready for our release.  I realize
 with certain version control software nowadays you don't have to lock the
 repo and the developers can continue with their work.  However, we're
 imposing and enforcing a few days for freeze and to regroup.

Another method would be to tag and then branch, decide whether the trunk or
branch is where you will host the release, and use cvs_acls to lock down the
trunk/branch for release work only. look at ACME [2] for ideas.

 
 Our repository resides on a linux box with :pserver method access from WinXP
 CVS DOS and Tortoise clients.  Could I just lock the repo by executing cvs
 admin -l or -L  or do I have to download some perl module to accomplish
 this? I need to lock our CVS repository today.  Three projects reside in the
 repository, is it possible to lock them selectively or would admin -l lock
 the entire repo?
 

There are  a few ways I think you could go at it.

If you don't even want anyone reading from the repo, you could temporarily
remove it's allow-root option from [x]inetd.conf.(assumes the three projects
have different roots in [x]inetd.conf)

if you are ONLY accessing the repo via pserver, the reader / writer [1]
files could do it for you.(assumes the three projects have different roots
in [x]inetd.conf, OR that none of the developers work on multiple projects)

if you want fine grain control, look at using cvs_acl, from the distribution
contrib directory, as a commitinfo script.

[1] https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_2.html#SEC36

[2] http://www.cmcrossroads.com/bradapp/acme/
http://www.cmcrossroads.com/bradapp/acme/branching/

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: cannot open /nonexistant/.cvsignore: Permission denied

2005-07-11 Thread Todd Denniston
 Boris Landa wrote:
 
 Hello Colleagues,
 
 It's my second posting on the same issue.
 
 I am relatively new to CVS and I would really appreciate if somebody could
 help me to understand the root cause of the problem.
 
 I am using CVS version 1.11.17 for both client and server. My server is in
 Oregon. My client is in California. It runs on a PC under Windows XP using
 CYGWIN_NT-5.1 1.5.13(0.122/4/2) 2005-03-01 11:01.
 
 CVS works fine for me.
 
 However, every time I do a check in I get an additional error message:
 
 cvs server: cannot open /nonexistant/.cvsignore: Permission denied
SNIP
 I searched and have not found any directory with nonexistant name. I
 searched Internet and your archives. This message was not found.
 

Because of cygwin, you get a different message than is normally found.
the canonical message is
cvs server: cannot open /root/.cvsignore: Permission denied

If you or someone else feels up to it, the manual should probably be updated
to include
cvs server: cannot open /nonexistant/.cvsignore: Permission denied in all
the places you find the above message.

And here is some reading on the subject.
http://lists.gnu.org/archive/cgi-bin/namazu.cgi?query=%2Froot%2F.cvsignore+and+jonessubmit=Search%21idxname=info-cvsmax=20result=normalsort=score
Also in:
https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_21.html#SEC188
a little ways down we see:
 cvs server: cannot open /root/.cvsignore: Permission denied
cvs [server aborted]: can't chdir(/root): Permission denied

See Trouble making a connection to a CVS server.  -
https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_21.html#SEC189
apparently then you probably haven't specified `-f' in `inetd.conf'.

Hope this helps.
 I would really appreciate if anybody knows where these messages come from
 and why.
 
 Thank you in advance.
 
 Boris


-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: CVS and SSH V2

2005-07-06 Thread Todd Denniston
Liquidchild wrote:
 
 Guys,
 
 I am trying to setup CVS and SmartCVS to allow communication with each
 other.
 

smartcvs has a mailing list which might help more.
http://www.smartcvs.com/smartcvs/community.html

 I did not set up the CVS server, our admin team has done that.  So here
 is what i have been doing:
 
 I have installed SmartCVS and entered the following into for the
 connection string:
 
 :ext:[EMAIL PROTECTED]:22\appl\cvs\ole
 
 using public/private key auth, with the private key file pointed to and
 the public copied into authorized_keys.  When I test the connection
 using smart cvs it seems fine, then when i click next to enter a
 modules i get an io error with details null.
 

with regular cvs the troubleshooting starts with:
https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_21.html#SEC189
in your case I think the command you want to try is something like:
ssh [EMAIL PROTECTED] cvs -v
or 
ssh -l gtx 10.10.115.11 cvs -v

 I am really hitting a brick wall with this stuff I have never had to
 setup CVS with SSH before, I have even tried previous clients of WinCVS
 and get similiar setup, again I seem to be able to login to the server,
 as its return command ran with 0, but when i try to checkout the module
 i get a ksh: cvs not found error

This looks like the environment of the server does not know where to find
the cvs executable,  you might try smartcvs's equivalent of defining
CVS_SERVER giving it the full path the the cvs executable the admin staff
want you to use.

 
 This would imply its not loading the enviroment variables hences cvs is
 not on the path, which i think it does not do for ssh, ie does not load
 the .profile, but how do you get round this.  If indeed this is (a)
 problem.

you could try this (assuming the server is running a shell that accepts bash
scripts):
ssh [EMAIL PROTECTED] echo $PATH
ssh [EMAIL PROTECTED] . /etc/profile;. ~/.profile;echo $PATH
ssh [EMAIL PROTECTED] . /etc/profile;. ~/.profile;cvs -v

 
 I am unsure if i am required to do anything on the client machine
 either, i.e set any enviroment variables.
 
 As you can see any help would be appreciated, and if anyone has done
 this before i would very much like to talk to them!
Please keep responses to me on the mailing list, thanks.

This is not intended to be direction to a gov contractor to do anything,
just a listing of information which _may_ answer the question which was
asked.
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the WarfighterThe opinions expressed here are not sanctioned by and do not necessarily 
represent those of my employer.
___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Newbie question

2005-07-06 Thread Todd Denniston
Madhavi Thottempudi wrote:
 
 Hello everyone!
 I am trying to install CVS. Before starting I want to check few things and
 hopefully U guys have answers. My questions are:
 
 1. CVS (linux) vs CVSNT (windows) - Which one is better performance wise,
 stability and reliability wise? As I haven't started the project yet, I can
 go either way. Please suggest me which is better to use or if it makes no
 difference.

I believe prior messages on the list have indicated that if you are doing
some dev on Unix and some dev on MS, having the server on Unix is the better
option. I suggest you search the list[1] about unix vs windows server.
as for CVS vs CVSNT (which can also be installed on Unix), if you will not
be using any of the extended features CVSNT offers, CVS comes with most
linux distributions and is probably already installed so you can just begin
using it.

 
 2. What are system requirements on which we install CVS server?
 
 manual section 2.9.1, Server requirements [2] 

[1] http://lists.gnu.org/archive/html/info-cvs/

[2] https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_2.html#SEC27
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Problem with admin privileges

2005-07-05 Thread Todd Denniston
Julian Opificius wrote:
 
SNIP
 Thanks for this input!
 
 The problem is that each of these articles achieve their intended
 results by restricting commands to cvs. I don't want to do that: my
 CVS users are my engineering department members with legitimate logins.
 It's only access to the CVS repositories that I have to control. PServer
 through ssh does exactly what I want in that regard.
 

Big question: What do you think using :pserver: at this point, gain you and
your users over just :ext: over ssh? 

Because they already have (and will continue to have) valid system shell
login, from here it only looks like more admin trouble to setup and maintain
pserver, plus it probably reduces the authentication or authorization you
had from the ssh and system level, especially when a new pserver hole comes
out.

 I have solved most of my admin problem by running admin users as their
 themselves using $CVSROOT/CVSROOT/passwd entries like this:
   username:password
 rather than as the global cvs user:
   username:password:cvs
SNIP

Why use the $CVSROOT/CVSROOT/passwd at all, just use the system
authentication fallback, it SHOULD make your life easier because only the
system level auth files need scrubbed when someone leaves not the system
level AND all the cvs repos.

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Check out fails

2005-06-30 Thread Todd Denniston
Rancier, Jeff wrote:
 
 Responses below ...
 
 | Rancier, Jeff wrote:
 | 
 |  OK.  I took your advice and created the repository on
 | Solaris 8.  Every
 |  seemed to go smoothly.  When I attempt to import some, I
 | get the following:
 | 
 | Assumption 1) all commands you are executing are being
 | executed on the SUN
 | machine, not in cygwin.
 
 Yes.
SNIP
 Concurrent Versions System (CVS) 1.11.19 (client/server)
 
 It seems like it's just the import command.  I got around it by creating the
 directory structure in $CVSROOT, then check it out, copy all my files to it,
 and add/ci all the file.  Thanks for the help Todd.  I replied in case
 someone wanted to pursue this further.
 
SNIP
Jeff, would you be up for executing the following and reporting back the
results if it dies?
If it does not maybe mod your inetd to allowroot=/tmp/test/rep/ and replace
the :fork: with :pserver: .  

Or are you just happy with the way things are working now? :)
I don't see any problems under 
FedoraCore3 with (CVS) 1.11.17 nor under 
Solaris 2.6 with
 Client:(CVS) 1.11.9
 Server:(CVS) 1.11.11
with both :fork: and :pserver:

note: script is the script command that will record your input and the
command outputs to the file listed just after the call to script.

script SeeCVS1.11.19_die_onSUNfork.txt

 export PS1=$
 cd /tmp
 mkdir test/rep -p
 mkdir test/work -p
 cd test
 export CVSROOT=:fork:/tmp/test/rep/
 #pserver needs cvs login, 
 #edit your password out of report
 cvs init
 mkdir indat
 cd indat
 date f1;date f2;date f3
 cvs import -m Imported sources source test start
 cvs version
 rm /tmp/test/rep/source/ -fr
 mkdir d1/d2/d3 -p
 date d1/fd1
 date d1/d2/fd2
 date d1/d2/d3/fd3
 cvs import -m Imported sources source test start
 rm /tmp/test/rep/source/ -fr
 rm f*
 cvs import -m Imported sources source test start
 exit

cat SeeCVS1.11.19_die_onSUNfork.txt | tr -d \r tmpfile
mv tmpfile SeeCVS1.11.19_die_onSUNfork.txt
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: merging only directory

2005-06-29 Thread Todd Denniston
ichai wrote:
 
 Hello,
 I have a little problem when configuring CVS.
 when I checkout a module, I get just the directory tree but not any file
 in it.
 what I have misconfigured.
 thanks for your help
 
 Ichai
Assumption 1) there are ',v' files in your repository directory structure,
i.e., you have either added and committed some files or imported some files.

Please show us the exact command line you used to do the checkout, and
output.
My bet, based on the current information, would be that you specified a tag
which either does not apply to any of the files or only to dead revisions.

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Check out fails

2005-06-28 Thread Todd Denniston
Rancier, Jeff wrote:
 
 OK.  I took your advice and created the repository on Solaris 8.  Every
 seemed to go smoothly.  When I attempt to import some, I get the following:
 
Assumption 1) all commands you are executing are being executed on the SUN
machine, not in cygwin.
Assumption 2) you have already ran 
 `cvs -d/usr/local/cvsroot init` prior to attempting the import (not sure if
you can do the init through pserver, it may have to be local).
Assumption 3) jrancier exists as a unix user on jrsun, and you can login in
with that user name. 
Assumption 4) CVSROOT/passwd does not exist.
Assumption 5) [x]inetd's configuration has been modified according to the
CVS manual and restarted.
Assumption 6) you got your cvs binary from some place reliable.
Assumption 7) you have again followed the manual's troubleshooting guide[4].
(just checking:)


 cvs import -m Imported sources source test start
 cvs [import aborted]: received abort signal

Which version of cvs does yours report itself (cvs --version) to be? I don't
find the above message in my OLD copy of the source or in the current
manual[3], and if we are going to look for it we need to know where to look.

 
 Based on what I've seen by googling, I tried the following:
 
 cvs -tn import -m Imported sources source test start
  - main loop with CVSROOT=/usr/local/cvsroot
 cvs [import aborted]: received abort signal
  - Lock_Cleanup()

Ok looks reasonably the same, but we still don't know why the abort happens.

 
 cvs -d :pserver:[EMAIL PROTECTED]:/usr/local/cvsroot import -m Imported
 sources source test start
 Segmentation fault (core dumped)

this be NOT good.
please respond with more version info.

 
 I logged in fine, and cvs created my ~/.cvspass OK.  Any ideas how to track
 this down.  I installed cvs as a package, so I don't have the source to
 debug.

Where did you get that package? Are you adverse to getting a tarball[1] from
cvshome.org and compiling yourself, and/or try the one compiled up on
cvshome[2]?

Yes I am stumped.


[1] https://ccvs.cvshome.org/servlets/ProjectDocumentList
https://ccvs.cvshome.org/files/documents/19/863/cvs-1.11.20.tar.gz
https://ccvs.cvshome.org/files/documents/19/862/cvs-1.11.20.tar.gz.sig

[2]
https://ccvs.cvshome.org/servlets/ProjectDocumentList?folderID=93expandFolder=93folderID=86
https://ccvs.cvshome.org/files/documents/19/912/cvs-1.11.20-SUN.gz


[3] https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_21.html#SEC188

[4] https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_21.html#SEC189
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: More keyword expansion questions

2005-06-28 Thread Todd Denniston
Jorgensen, Steven wrote:
 
 I have another keyword expansion related question.  We are
 version controlling some Microsoft office documents along with our
 source code, and would like to use a keyword expansion in those
 documents so users can see what revision they are looking at.  This can
 be setup, but you must know ahead of time the length the text will be.
 On another project that used pvcs, they solved this issue by specifying
 that any keywords when expanded would take a fix set of space, using
 blanks to make up for any characters that the keyword didn't need.  Is
 there any way to do this in CVS?  Thanks for any help.
 
 Steve
Unless you are exporting those documents out to (real not MSextended) CSV or
XML formats, so that they are now ascii text, those documents are binary,
and you DO NOT want CVS mucking about in them. This is why when you add or
import a word doc you give it the -kb flag.

Short answer: NO.
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Problem with admin privileges

2005-06-27 Thread Todd Denniston
Julian Opificius wrote:
 
SNIP
 I have one more issue that affects my choice that I should have
 mentioned earlier. We are working in an FAA-regulated environment, and
 my CVS respository must be secure, in that nobody can impair the
 lifecycle data, and all accesses must be documented and controlled,
 i.e.e all accesses must be via the cvs server. This is why I chose
 pserver in the first place.
 
 How can I maintain this level of integrity without pserver: keeping the
 repository itself inaccessible, while allowing write access through cvs?

If you search the list[1] and some of the howtos you should be able to
figure out how to set ssh so that the users can only execute one command on
the server, that command is 'cvs'.  If you are already giving them SSH
access to the machine, to then run pserver, you have less accountability
(and/or authentication [I can never remember which]) than if you were just
giving them SSH (with no restrictions on commands), because all logs show
the cvs user they are mapped to instead of the real user name (look for some
of Greg A. Woods posts[2] on these matters).



[1] http://lists.gnu.org/archive/html/info-cvs/
A promising hit is
http://lists.gnu.org/archive/html/info-cvs/2003-09/msg00203.html

[2]
http://lists.gnu.org/archive/cgi-bin/namazu.cgi?query=woods+AND+ssh+AND+pserveridxname=info-cvsmax=20result=normalsort=score
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


demime the list? (was Re: a newbie facing tagging problem)

2005-06-24 Thread Todd Denniston
[EMAIL PROTECTED] wrote:
 
 On Fri, 24 Jun 2005, Larry Jones wrote:
 
  [EMAIL PROTECTED] writes:
  
   This message is in MIME format. Since your mail reader does not understand
   this format, some or all of this message may not be legible.
 
  Please do not send MIME and/or HTML encrypted messages to the list.
  Plain text only, PLEASE!
 
 Why doesn't this list run something like the demime package to scrub HTML/MIME
 postings to this list, so people don't have to be bothered with worring about
 how their mail client is configured?
 
 http://scifi.squawk.com/demime.html
 
 I use it on the mailing list I manage, and it does a fair job of converting 
 HTML
 to plain text and it does strip MIME attachments out of mail.
 
 Adam
Speeking mostly for my self, 
translating the message text would not be a bad thing, but MIME ATTACMENTS
are NEEDED so we can exchange code patches and scripts where the formatting
of the data matter.

i.e., if someone needs to send an attachment that is MIMEed, no problem, but
the message body should be ASCII text.

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: $Name$ causes files to be locally modified

2005-06-23 Thread Todd Denniston
 Jorgensen, Steven wrote:
 
 I am having a problem with the $Name$ keyword expansion.  We use a
 cvs tag to indicate when a file has moved beyond local testing stage, and
 is ready for general use by all developers (a release tag if you will) so
 that we can automate a update and build process to keep a working
 development version of our software compiled for all developers.  So this
 tag is not permanently attached to a single revision, rather it moves as
 files get modified and tested by individual developers and released for
 use by other developers.
 
 The problem I'm having is when people use the $Name$ keyword in
 their file.  In this tree of released software, it causes any file that
 contains a $Name$ keyword to be in a Locally Modified state when it is
 checked out.  Where the only difference in the file is the fact that
 $Name$ is now filled out.  The next time around we run an update on one of
 these files that changes, produces a conflict on the $Name$ line.For
 example:
 
 Myheader.h
 ---
 
 const char *tag = $Name$;
 
 Becomes on the next revision.
 
  Myheader.h
 Const char *tag = $Name: releasetag $;
 ==
 Const char *tag = $Name: $;
  1.2
 
 Is there any way to prevent this from happening?  On all the other keyword
 expansions $Id$, $Header$, etc, the keyword is expanded, but the file's
 status is Up-to-date.
 
 Thanks for any help.
 
 Steve
 
 Steven Jorgensen
 [EMAIL PROTECTED]

Method #1, I think if the update is done with the '-kk' option it will stop
the expansion.

Method #2, tell your developers to stop using keywords and remove them where
ever they find them.

Method #3, do Method #2, and prevent the developers from checking files in
to the baseline with the keywords inside, using a commitinfo script.

***begin simplistic commitinfo script (in bash)*
#echo 0($0) 1($1) 2($2) 3($3) @($@)
#get rid of path at the begining
shift 1
#echo 0($0) 1($1) 2($2) 3($3) @($@)
ARGS=$@
for i in $ARGS
do
# cat $i
# exit 1
 if grep -e \\$Name:\\$ -e \\$Id:\\$ $i
 then
   echo  we no longer allow rcs keywords in the files, find your info in
the
   echo  cvs log from now on.
   exit 1
 fi
done
***end simplistic commitinfo script*

BTW never written a commitinfo before, no warranties on the above script.
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: CVS-Directories disappear when uploading per SFTP-Client

2005-06-21 Thread Todd Denniston
Dennis von Ferenczy wrote:
 
 
  Dennis von Ferenczy [EMAIL PROTECTED] wrote:
 
SNIP
  Yes.  Get a CVS client for your local machine and do your cvs
  commits from there behind the IDE's back.  On the CVS server
  == web server, use the loginfo hook to keep a reference
  sandbox up to date, from which the web site operates.
  https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_18.html#SEC158
 
 
 Thanks for your advice. But what will be the advantage? If I get you right,
 then I would have to do a commit every time I want to test the changes in my
 scripts, even if I have changed only a single line of code - and even if the
 code is buggy. 

OK, your above comment and your following comment seem to contradict each
other.
If you are testing locally (on your development box, using your sand box)
why would you need to commit to the Production CVS/WEB server with a posibly
broken change set? If you can currently test on your local box, then make
your checkout to that location, do your mods and tests, then when you are
done, and have a good change set, do a commit.
What you have been doing with SFTP is half of what CVS will do for you, IF
YOU LET IT.

 Right now I work locally, have the files mirrored using SSH
 (I'm not sure if cvs can use SSH) can immediately try my changes and if
 everything works as desired I do a commit. Like this I can always be sure,
 that code in the repository is actually code that is working correctly.

If you re-read my message you should see that CVS can use ssh, but you have
to tell CVS to use ssh instead of rsh by setting `export CVS_RSH=ssh` (in a
unix environment, there is a way to do it with cvsnt as well, but you will
need to read their wiki[1]). 
BTW I suggest you run `cvs version` in your windows environment and include
its output with your next email, it might help us answer some of the
questions you have.


If I understand your workflow it goes something like this:
1) cvs checkout on server machine.
2) sftp checkout to dev machine.
3) make mods and test on dev machine.
4) sftp checkout back to server machine.
5) cvs commit changes on server machine.
6) sftp changes from dev machine to the production web server.

If you setup cvs, using ssh, you should be able to change your workflow to:
1} cvs checkout on dev machine.
2} make mods and test on dev machine.
3} cvs commit changes on dev machine.
4} login to the production area, issue `cvs update`.

if steps 3) and 2} involve ftping files to the production webserver, I
suggest you spend time rereading Jim Hyslop's email. Best practices usually
involve having a test 'server'/setup where you test all your work and when
it is working then you commit  tag, and then login to the production area
and do a `cvs update` from a known working tag. 

[1] http://www.cvsnt.org/wiki

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Help Required in CVS

2005-06-21 Thread Todd Denniston
Please don't use HTML in email to mail lists.

 1) I have migrated my cvs server to new box which is fedora core 3.
 
 I've copied all the modules as it is to new box.
 
 Now, I've setup several access control on modules.
 
 The problem is, I want to setup setgid bit on one module 
 including all of its sub-directories (only).
 
 But if I use -R option it also applies setgid bit on all 
 files . I know it'll not make any sense for files.
 
 But it's not possible for me to apply it on each and 
 every sub directory as it's a big tree and having 
 around 200 subdirectories.
 
 Please tell me how can apply setgid to directories only?

instead of using chmod/chown -R, I use find+xargs
`cd repo; find . -type d|xargs chmod g+swr`


BTW if this was not something you just started doing, tar could have
preserved the permissions you had on the repo in the past if you gave it the
`-p` option while untaring.

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Check out fails

2005-06-21 Thread Todd Denniston
Rancier, Jeff wrote:
 
 Yep.  I downloaded, compiled, and installed for Solaris 8 on Sparc.  The
 manpage for initgroups indicates the following:
 
SNIP 
 So, I SU'd and logged into the repository again and attempted to do a check
 out again, with the same error.  Has anyone experience this on Solaris?
 Have a resolution?
 
If you are using pserver you should not need to su, [x]inetd runs as root.

I have a few questions to that may resolve some assumptions the rest of us
are making.

Q1) what username are you giving to CVS?

Q2) on the solaris box what does the following command sequence yield?
cat /etc/passwd  /tmp/workoutuser; ypcat passwd  /tmp/workoutuser  ; \
grep username_from_Q1 /tmp/workoutuser

Q3) on the solaris box what does the following command sequence yield? (Note
that you may not want to give all the information output here, just what you
believe may be involved.)
cat /etc/group  /tmp/workoutgroup ;  \
ypcat group  /tmp/workoutgroup; \
grep username_from_Q1 /tmp/workoutuser |awk -F: '{print $4}' 
/tmp/workoutgid

grep -e `cat /tmp/workoutgid` \
-e username_from_Q1 /tmp/workoutgroup | \
awk -F: '{print $1 \t: $3}'

Q4) on the solaris box what does the following command sequence yield?
ls -l `echo $CVSROOT |awk -F: '{print $4}'`
#assuming CVSROOT is set to pserver


 Thanks,
 Jeff
 
 | -Original Message-
 | From: Rod Macpherson [mailto:[EMAIL PROTECTED]
 | Sent: Monday, June 20, 2005 6:39 PM
 | To: Rancier, Jeff
 | Subject: RE: Check out fails
 |
 |
 | Did you successfully cvs login as the user in your CVSROOT string?
 |
 | -Original Message-
 | From: [EMAIL PROTECTED]
 | [mailto:[EMAIL PROTECTED]
 | On Behalf
 | Of Rancier, Jeff
 | Sent: Monday, June 20, 2005 2:48 PM
 | To: info-cvs@gnu.org
 | Subject: Check out fails
 |
 | When attempting to checkout a module using pserver, I get:
 |
 | initgroups failed: Invalid argument
 |
 | I googled this but didn't come up with anything helpful.
 |
 | Thanks,
 | Jeff

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Check out fails

2005-06-21 Thread Todd Denniston
Rancier, Jeff wrote:
 
 Thanks,
 
 I was using my username.  The results from the ypcat:

and what is that user name? so we can see if it matches the other output, is
it your unix or MS username?

 
 ypcat:  the domainname hasn't been set on this machine.
 

I was making the assumption you were using NIS[+], seems I was wrong.
skip all the ypcat calls I had. if you are using some other method of
distributed authentication you will need to get its data in where I was
doing the ypcat info, and I am assuming that the distributed auth uses the
same format as the local auth files.

 Do I need to resolve this, or is just a method for troubleshooting?
 
 | -Original Message-
 | From: Todd Denniston [mailto:[EMAIL PROTECTED]
 | Sent: Tuesday, June 21, 2005 2:43 PM
 | To: Rancier, Jeff
 | Cc: info-cvs@gnu.org
 | Subject: Re: Check out fails
SNIP
 | Q3) on the solaris box what does the following command
 | sequence yield? (Note
 | that you may not want to give all the information output
 | here, just what you
 | believe may be involved.)
 | cat /etc/group  /tmp/workoutgroup ;  \
 | ypcat group  /tmp/workoutgroup; \
 | grep username_from_Q1 /tmp/workoutuser |awk -F: '{print $4}' 
 | /tmp/workoutgid
 |
SNIP
note I did not wrap the above lines quite correctly, it should have been:
cat /etc/group  /tmp/workoutgroup ;  \
grep username_from_Q1 /tmp/workoutuser | \
awk -F: '{print $4}'  /tmp/workoutgid


-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Check out fails

2005-06-21 Thread Todd Denniston
Larry Jones wrote:
 
 Todd Denniston writes:
 
  If you are using pserver you should not need to su, [x]inetd runs as root.
 
 But is it set up to run pserver as root?  If not, you can only run as
 the user you're running pserver as -- any attempt to run as a different
 user will result in similar problems (although one would expect
 initgroups() to fail with EPERM rather than EINVAL).

which would imply either the user name given was invalid (for where
initgroups looked) or the additional group was. Does initgroups get pointed
at CVSROOT/passwd if it exists?

seeing this and his latest (21 Jun 2005 15:15:46) email I wonder if Jeff has
jrancier in /usr/local/cvsroot/CVSROOT/passwd and in the correct format
assuming his mention of CVSROOT/passwd means it exists. 

Jeff, 
sorry that was one of my other assumptions, CVSROOT/passwd did not exist. 
You should only need CVSROOT/passwd if you want to allow logins that are not
system username logins. I will let you decide if you want to read up on
pserver past and current insecurities and decide if having CVSROOT/passwd is
something you really want.

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: CVS-Directories disappear when uploading per SFTP-Client

2005-06-20 Thread Todd Denniston
Dennis von Ferenczy wrote:
 
 
  Let's see if I got this straight:
  1)  You start with the CVS/ directories present.
  2)  You run an SFTP client.
  3)  The CVS/directories are gone.
 
  Based on these facts, I would say that the SFTP client
  removed the directories.
 
 although this sounds rather unlikely to me, I will have a look at it and try
 another SFTP client (currently I am using WinSCP 3.7.5)
 
 
  May I ask why you are mixing CVS and sftp ?  Why can't you
  have a CVS sandbox checked out on the machine from which you
  were uploading changes ?  Instead of uploading, you would
  just cvs commit from there.
 
 The problem is the following:
 the cvs server is at the same time the web server where the application
 runs. So I have to checkout to the web server. But: My IDE runs locally on
 my machine and it needs the complete source code to enable it to use code
 completion etc. Between my local machine and the server there is only a DSL
 connection so I have the local changes mirrored to the web server (using the
 SFTP client) and then do the commit from the web server.
 Any better ideas?
 

Try having your repository as a remote repo[2] using ssh as your :ext:
method[1] with CVS for your local work and use ssh to login and do either
`cvs update` or `cvs export` on your web server.
Note that depending on your IDE you may be able to integrate it directly
into calling CVS[3], if you have cvs setup as a remote repository.

[1] https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_2.html#SEC28
i.e., set CVS_RSH=ssh #or your systems ssh client.
note for the example shown I believe you will want to replace all rsh calls
with ssh.

[2] https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_2.html#SEC26

[3]
http://www.cvsnt.org/wiki/ThirdPartyTools#head-fc58f200cea8e136e0be4d945fcee085858fe670


-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: rogue filename

2005-06-17 Thread Todd Denniston
Kelsang Norpel wrote:
 
 apologies if this comes through twice - I posted it before i subscribed
 to the mailinglist - so I'm not sure if it will get delivered... anyway
 here's the message:
 
 hi all
 
 when I set up my repository I had a stray file called '--no-recursion'
 that was a byproduct of a mistyped command. I have managed to remove
 this from my local list, but when I do a cvs commit it fails. How can I
 get rid of this file, since now I cannot do any more commits until this
 error is resolved. (can I even just make cvs 'forget' about his file
 altogether?)
 
 thanks,
 norpel
 
Sounds like one of those EXTREMELY rare times where executing rm INSIDE the
repository might be acceptable.
note that you will probably have to escape the name because of the '--', it
has been a while since I did it but I think your command would look
something like:
`rm ./--no-recursion`
or from reading the rm man page
`rm -- --no-recursion`
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Jindent

2005-06-17 Thread Todd Denniston
Zanabria, Moises wrote:
 
 Hi guys,
 I'm planning to run Our Java beautifier for the java files prior to
 committing, for that I need to run the Jindent, I know this could be
 done in the commitinfo file but I'm wondering if someone has been
 experienced this before and compare other thought.
 
 Thanks for any help.
 
 Moises.


One thing to keep in mind, if you run the beautifier from within the
commitinfo, only do so to test if the user did it, DO NOT put the output of
the commitinfo beautifier into the repository.

Reason: there are situations where the user's sand box no longer represents
what is in CM when commitinfo beautifier data is put in the repository. This
can lead to big confusion later on.

So the commitinfo beautifier output should only be used as an input to diff,
if diff indicates the files (the input file to beautifier and the output
file from beautifier) given to it are different you exit with a non zero
value and remind the user to run the beautifier.

If the beautifier does not produce consistent output, stop using it.

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: APIs for CVS

2005-06-16 Thread Todd Denniston
Ganapathi Hegde wrote:
 
 Hi,
 
 I need to integrate my tool with CVS. Is CVS gives any APIs?
 Or any otherway I need automate Check-In, Check-Out and Modify
 
 Thanks  Regards,
 Ganapathi

It is not clear if you are needing to integrate a tool you have built with
CVS or one you have purchased.

if you built it, then libcvs might be a good fit.
if you have purchased it, there are some projects which have integrated cvs
with Microsoft's SCC API, and other individual IDEs[1]. (I use the link to
cvsnt because they are conveniently together there)

[1]
http://www.cvsnt.org/wiki/ThirdPartyTools#head-fc58f200cea8e136e0be4d945fcee085858fe670

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Repository Access

2005-06-16 Thread Todd Denniston
Jim Hyslop wrote:
 
 S I wrote:
  Hi Class!
 
  Currently our CVS repo has 3 main  separate projects running under it.
  By default when I create a new unix user; I give them access to the
  whole repository, however, some folks have been editing files in
  projects they were not supposed to.
 
  How can I ONLY and specifically create or modify the access rights 
  privileges of only few specific people w/o wreaking havoc on the whole
  repository?  And by default if they're not listed in that file then that
  means they have access to all projs?  Is there a way?
 
 Use your operating system's access control system. Create a group for
 each project, and assign people to the groups they are allowed to be in.
 You will have to determine, in conjunction with your project leaders,
 which projects new users will have access to, by default.
 
 And, of course, get the managers and project leaders on side to explain
 that changing project files they haven't been assigned to will result in
 disciplinary action, up to and including termination.

Although the above is what I also see as the best option, you *MAY* also be
able to get some where in the middle using the cvs_acls script.

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: CVS Lock Errors

2005-06-16 Thread Todd Denniston
S I wrote:
 
 Hi
 
 I have a 2nd question:
 
 A user using Tortoise window's client using :pserver to the linux box,
 executed the commad searching for tags.  Not a specific tag but all tags in
 the repository.  The command's been running for about 15 hours now, locking
 cvs, and not allowing anyone else to tag.  We can update, commit, etc but
 not tag. And I do need to tag my build today.
 
 When I try to tag, I get the error msg that so  so user has it locked. When
 I do -cvs admin -U, the server says waiting for the user's lock, etc.
 
 On the linux server side, I thought it was a ps process I could kill...but
 NONE!

If it is a process that is still running,  you should be able to find the
process with 
`ps options |grep cvs` where options are either aux or ef.

 
 How can I kill this annoying process?  I told him to delete all his working
 folders, reboot, and check out fresh and anew again.

If he has done all the those things, which should be unnecessary, and the ps
netted nothing ... some how cvs (on the server) was terminated while he was
doing his tag search and was not given a chance to clean up after itself.

 
 Any suggestions?
 
WARNING USE AT YOUR OWN RISK * WARNING USE AT YOUR OWN RISK * 
with all the above going on I would:
1) configure inetd or xinetd to not run any more cvs processes while I
figure out what is going on. (and restart [x]inetd)
2) stop any currently running cvs instances (under linux on the server)
`killall -SIGTERM cvs;echo nice kill done; \
sleep 60; killall -9 cvs; echo lets se-em survive that`
#if you get any output before the nice kill done echo, 
#there were no cvs's running.
3) make a backup of the repository.
4) run Donald Sharp's check_cvs script to see what if anything is amiss with
the repository
5) take note of and delete any locks check_cvs finds.
6) decide if you want to fix anything else check_cvs finds.
7) take some guesses as to how it got into this state 
(this seems like a very weird state to me, it would probably be good to let
the mailing list know what version of cvs you are running on the server and
Tortoise. have you ever had this search for all tags action work in the
past?)
8) put the system back on line for cvs work. reconfigure [x]inetd to run cvs
pserver and restart [x]inetd.

9) you might want to check and make sure everyone is accessing the repo
through pserver or ext (to the same server machine) and that no one is
accessing it using a filesystem method.

WARNING USE AT YOUR OWN RISK * WARNING USE AT YOUR OWN RISK * 
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: migration of CVS repositery from one machine to another

2005-06-14 Thread Todd Denniston
ravish agarwal wrote:
 
 Hi Todd,
 thanx for the information. But here is still a problem. The setup for
 cvs-1.11.1p1 is not available on the link you have specified. can you
 please give any other link where I can find that binary. Also please
 tell me if I need to do version upgrade which version is the best to
 install. and will there be any issues related to version upgrade of
 CVS.
 regards
 Ravish

You really should upgrade because of the security upgrades.
If you REALLY have to stick with 1.11.1p1 I believe you have two choices:
1) copy every thing from the cvs install you have on the old machine.
2) compile and install 1.11.1p1 from source, which you can get from the
site[1].

But you really should go with a newer[3] version.

 
 On 6/13/05, Todd Denniston [EMAIL PROTECTED] wrote:
  ravish agarwal wrote:
  
   Hi all,
   We need to migrate CVS repositery from one HP-UX machine to another
   HP-UX machine. We are using cvs-1.11.1p1. For that I need to install
   that version on second machine. Now my queries are:
   1. Where can I find the cvs-1.11.1p1 installable(binary) on HP-UX.
 
  Note that there have been many security (and other types of) fixes since
  cvs-1.11.1p1 it would be best to update.  If you really don't want to
  compile CVS yourself, there appear to be hp binaries available on the
  website[3].
SNIP
[1]
https://ccvs.cvshome.org/servlets/ProjectDocumentList?folderID=193expandFolder=193folderID=77

[3]
https://ccvs.cvshome.org/servlets/ProjectDocumentList?folderID=87expandFolder=87folderID=80


-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: migration of CVS repositery from one machine to another

2005-06-14 Thread Todd Denniston
Todd Denniston wrote:
 
 ravish agarwal wrote:
 
  Hi Todd,
  thanx for the information. But here is still a problem. The setup for
  cvs-1.11.1p1 is not available on the link you have specified. can you
  please give any other link where I can find that binary. Also please
  tell me if I need to do version upgrade which version is the best to
  install. and will there be any issues related to version upgrade of
  CVS.
  regards
  Ravish
 
 You really should upgrade because of the security upgrades.
 If you REALLY have to stick with 1.11.1p1 I believe you have two choices:
 1) copy every thing from the cvs install you have on the old machine.
 2) compile and install 1.11.1p1 from source, which you can get from the
 site[1].
 
 But you really should go with a newer[3] version.
 
Sorry, I missed responding part of the questions.
 cvs-1.11.20 is the latest stable, it should have the least (probably does
not really have any) unexpected changes since cvs-1.11.1p1. Given your
reluctance to upgrade at all 1.11.20 is your best choice.

There should be no issues upgrading to 1.11.20 unless you were doing some
behaviors which were contraindicated for a long time like:
moving or deleting branch tags without -B.
using Checkin.prog and Update.prog functionality.
Method options (used by WinCVS  CVS 1.12.7+) in CVSROOTs are ignored.

see the following link for full details up through 1.11.19
https://ccvs.cvshome.org/files/documents/19/746/NEWS.1.11.19
Not sure why 1.11.20 is not listed in the archive directory.

For a though upgrade it should not hurt to run `cvs init` to get any NEW
config files.

SNIP
 [1]
 https://ccvs.cvshome.org/servlets/ProjectDocumentList?folderID=193expandFolder=193folderID=77
 
 [3]
 https://ccvs.cvshome.org/servlets/ProjectDocumentList?folderID=87expandFolder=87folderID=80
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: migration of CVS repositery from one machine to another

2005-06-13 Thread Todd Denniston
ravish agarwal wrote:
 
 Hi all,
 We need to migrate CVS repositery from one HP-UX machine to another
 HP-UX machine. We are using cvs-1.11.1p1. For that I need to install
 that version on second machine. Now my queries are:
 1. Where can I find the cvs-1.11.1p1 installable(binary) on HP-UX.

Note that there have been many security (and other types of) fixes since
cvs-1.11.1p1 it would be best to update.  If you really don't want to
compile CVS yourself, there appear to be hp binaries available on the
website[3].

 2. what are the steps involved in migration of whole data from one
 machine to another. I dont want any change in the tags and history.
 thanx in advance

moving a repo is covered in the manual[1].
basically:
0) get everyone to do a final checkin and then release their sandboxes
(mainly prevent confusion later).
1) Back up the repository [2].
2) take the backup to the other machine.
3) restore from backup.
4) configure the machine to serve cvs.
5) update everyone's CVSROOT values.

 regards
 Ravish
[1] https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_2.html#SEC25
[2] https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_2.html#SEC24
[3]
https://ccvs.cvshome.org/servlets/ProjectDocumentList?folderID=87expandFolder=87folderID=80
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: add new module error - Terminated with fatal signal 11

2005-06-09 Thread Todd Denniston
Please avoid html email to a mailing list.

 Erik Andersson wrote:
 
 Hi
 
 I'm trying to add a new module, but recieves Terminated with fatal signal
 11
 
 Were using:
 Concurrent Versions System (CVS) 1.11.18 (client/server)
 with CVSACL Patch 1.2.1 (cvsacl.sourceforge.net)
  cvs -t add new_module
  - main loop with CVSROOT=:pserver:[EMAIL PROTECTED]/cvs/xxx
  - Connecting to server(192.168.100.100):2401
  - Create_Admin (new_module, new_module, /cvs/xxx/new_module, , , 0, 0,
 1)
  - unlink_file(new_module/CVS/Tag)
  - Create_Admin
  - rename(CVS/Entries.Backup,CVS/Entries)
  - unlink_file(CVS/Entries.Log)
 S- rename(CVS/Entries.Backup,CVS/Entries)
 S- unlink_file(CVS/Entries.Log)
 Terminated with fatal signal 11
  - Lock_Cleanup()
 
 Anyone able to locate the problem?
 
 Best Regards / EA
 
1) did not know this patch existed, it seems interesting. you might check to
see if cvs1.12.X has incorporated it.

2) They have a mailing list which might be of more help because this is not
something which is normally in cvs.
http://sourceforge.net/mailarchive/forum.php?forum=cvsacl-users

3) a quick poke into their bug tracker 
http://sourceforge.net/tracker/?atid=542794group_id=75057func=browse
shows something probably related
http://sourceforge.net/tracker/index.php?func=detailaid=1167700group_id=75057atid=542794
including a work around.

4) have you tried the contrib script cvs_acls? (note some recent updates
have been made)

5) if you really like the effect of this patch have you looked into helping
it's maintainers get the patch in a form that might be accepted into
cvs1.12.X or cvs1.13.X (read the HACKING file that comes with the cvs
source, make sure you update the documentation and the sanity checks).



-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: File Checked Out Notification

2005-06-08 Thread Todd Denniston
Aaron Jackson wrote:
 
 Thanks for all the help on my previous problem, now I have a new one. 

Please change the threaded subject line then.

 I'm
 working on a system where multiple developers are working on many of the
 same projects and some of the files overlap. Is there some way to notify
 someone when they check out a file to tell them that another user has
 checked out that file recently and not checked in the changes or to set a
 flag that does the same thing. I might have to write an app to do this,
 but I'm really looking more for something that already exists that will
 work with a pserver set up to preform these notifications. They can be
 e-mail notices or Windows and linux broadcast messages.
 
 Thanks for any input,
 Yolan
 
`cvs watch --help`
you might also check cvs 1.12.10+ to see if the advisory locks (AKA 
Reserved Edits) feature[1] will do it for you?
[1] https://www.cvshome.org/docs/manual/cvs-1.12.12/cvs_10.html#SEC84
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Sorry about this newby question

2005-06-06 Thread Todd Denniston
Jim wrote:
 
 Ah, I didn't understand the part about the attic.  I'm trying to build
 a system that will still work when the server is off-line.  I'll have
 to scratch my head about that one.
 
 No doubt I did the init by mistake.  Before I did it, it adding caused
 it to yell at me about CVSROOT and after it did not yell, so it seemed
 right to me, but as I said, I'm new.
 
 Thank you.
 Jim

You might be interested in the following threads:

http://lists.gnu.org/archive/html/info-cvs/2004-11/msg00191.html

http://lists.gnu.org/archive/html/info-cvs/2004-11/msg00213.html

http://lists.gnu.org/archive/html/info-cvs/2005-01/msg00244.html

I would suggest consulting with Greg A. Woods to find out if he has began
implementation, or has a coherent set (not spread across several emails) of
specifications for the changes suggested in the above links. Also be aware
the request in 2004-11/msg00191 for the ability to do the add -C thing,
i.e., don't make it impossible.

Over all I think this, removing cvs add's need to contact the server, is
the FIRST step in giving cvs an off-line mode. (yes that means I have been
thinking about it, but have not implemented anything.)

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Sorry about this newby question

2005-06-06 Thread Todd Denniston
Jim wrote:
 
 Hello,
 

Coming back to re-read your original post ... I note some possible
confusion.

 I apologize in advance for what is no doubt a foolish question, but I'd
 greatly appreciate it if a kind soul could set me straight.
 
 I've just checked out a CVS archive (I have Fedora Core 1 running on a
 laptop, if that matters).
   export CVSROOT=/usr/local/cvs
   mkdir $CVSROOT
   cd $CVSROOT
   cvs init

You have just made a local (to your machine) cvs repository.

   cvs -d:pserver:[EMAIL PROTECTED] login
   cvs -z3 -d:pserver:[EMAIL PROTECTED] co modulename

Now you try to checkout a module from another site INTO your repository.
This is wrong!!!.

There are two ways I can think of to do what I THINK you are attempting to
do:
1) use a product like cvsup[1] to mirror the repository you want

2) do the checkout from the remote machine some where else and either
convince cvs to ignore the CVS directories, or remove the CVS directories,
and either import or add all the files into your local repository.

method 1 may be easier to do and keep sanely synchronized, but if it (and I
have not read the cvsup pages) requires a special program on the server you
may be stuck with method 2.

 (I pasted in the instructions that were on the site, so I'm pretty sure
 I did it right.)
 
 Now I want to add a file to the local repository (by that I mean the
 sandbox).  But I am on a laptop, not connected to the Internet.
   cd modulename
   cp /home/jim/newfilename .
   cvs add newfilename
 and the system objects unknown host ...  (it names the host from
 which I checked out the material).

This is because you have confused cvs by doing a checkout from an external
repository into your local one. You should never do a checkout inside of the
repository.

[1] http://www.cvsup.org/

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Cannot rename file error

2005-05-27 Thread Todd Denniston
Ennis, Tony wrote:
 
 Hello, I am on Win2000, latest rev of cvsnt, using pserver to the repository
 on a Windows box.
 

With this said, you will likely get better answers on the cvsnt mailing
list.

http://www.cvsnt.org/wiki
http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt



 When I check projects out, I am getting this error intermittantly:
 
 cvs checkout: Updating svs/apacherelease
 U svs/apacherelease/apache_1.3.33.tar.gz
 cvs [checkout aborted]: cannot rename file _new_apache_1.3.33.tar.gz to
 apache_1
 .3.33.tar.gz: Bad address
 
 I have inherited a dubiously constructed repository, but for now... it is
 what it is.  I just need to get it working.  My checkouts fail one time in 4
 perhaps, always on a different file each time, but *i think* it happens more
 often on large binaries.  I am checking the project out into an empty
 directory, if that matters.
 
 This wasn't happening previously, and then BAM! it just started, with a
 vengeance.
 
 Any ideas?

Between it working and now not working, have you updated to a newer cvsnt?
The only similar experience I have ever had with regular cvs is when at
1.11.1p1-1.11.2 they changed to memmaping files and my solaris box had a
broken memmap implementation, and then it only happened on the biggest of
repositories with them machine under load.

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Cannot rename file error

2005-05-27 Thread Todd Denniston
Ennis, Tony wrote:
 
 Oy! You caught me. I am not the admin of the cvs server and I assumed
 *cough* that it was a Windows box. After reading your response, I decided to
 check my facts... it's a Solaris box. We use Windows server at my
 installation but the cvs box is elsewhere. They use Suns there.

The solaris box that gave me trouble was running:
`uname -s -r -m -p`
SunOS 5.6 sun4u sparc


 
 I don't know how large the entire repository is, but my module is just under
 1G.  Is this large?

The one I had fail was ~300MB, so Yes I would consider 1G large.

 
 I have the latest rev of CVSNT.

but did you update to it before or after you started having trouble, or have
you been using this version all along?

I would suggest getting the following information:
version number of cvs used for pserver on the solaris machine.
version information from `uname -s -r -m -p` on the solaris machine.
the version NUMBER of the CVSNT you are using on the client.
date when you started having problems.
date when the admins of the solaris machine updated cvs (and ask if they
updated around the date you started having trouble) and what was the old
version.

I would suggest asking on the CVSNT list if anyone has seen this trouble,
because to me it looks like a client problem.

I would also suggest, after asking about on the CVSNT list, having the unix
cvs/system admins look at these messages and look for the messages I sent to
the bug-cvs list, they might know what's up.
Subject:   1.11.[29], server abort, unable to parse
   Date:   Mon, 17 Nov 2003 20:06:30 -0500

 
 -Original Message-
 From: Todd Denniston [mailto:[EMAIL PROTECTED]
 Sent: Friday, May 27, 2005 10:02 AM
 To: Ennis, Tony
 Cc: 'info-cvs@gnu.org'
 Subject: Re: Cannot rename file error
 
 Ennis, Tony wrote:
 
  Hello, I am on Win2000, latest rev of cvsnt, using pserver to the
 repository
  on a Windows box.
 
 
 With this said, you will likely get better answers on the cvsnt mailing
 list.
 
 http://www.cvsnt.org/wiki
 http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt
 
  When I check projects out, I am getting this error intermittantly:
 
  cvs checkout: Updating svs/apacherelease
  U svs/apacherelease/apache_1.3.33.tar.gz
  cvs [checkout aborted]: cannot rename file _new_apache_1.3.33.tar.gz to
  apache_1
  .3.33.tar.gz: Bad address
 
  I have inherited a dubiously constructed repository, but for now... it is
  what it is.  I just need to get it working.  My checkouts fail one time in
 4
  perhaps, always on a different file each time, but *i think* it happens
 more
  often on large binaries.  I am checking the project out into an empty
  directory, if that matters.
 
  This wasn't happening previously, and then BAM! it just started, with a
  vengeance.
 
  Any ideas?
 
 Between it working and now not working, have you updated to a newer cvsnt?
 The only similar experience I have ever had with regular cvs is when at
 1.11.1p1-1.11.2 they changed to memmaping files and my solaris box had a
 broken memmap implementation, and then it only happened on the biggest of
 repositories with them machine under load.
 

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Synchro two folder --

2005-05-27 Thread Todd Denniston
cvs by giardina Software wrote:
 
 Hello list,
 
 sorry for the stupid question; so i have a CVS server machine that's
 different from the Webserver production, this only for reasons of
 security. When the file/s are updated on the server CVS(2401), it must
 them be updated on the Webserver(80) production to make visibility of
 the differences.
 
 Our strategy probably is up to date, but now, what's the better mode to
 adjourn automatically the CVS server (here we have a global repository
 with some web project, portals, workgroup ecc ) and the WebServer
 production?
 

I am not certain I understand your question(s), but if what you want is to
always have your web server content the same as the HEAD revision from the
cvs repository, perhaps Keeping a checked out copy[1] is what you want.

[1] https://www.cvshome.org/docs/manual/cvs-1.11.20/cvs_18.html#SEC177
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: intermittent cvs lock messages

2005-05-26 Thread Todd Denniston
Sam Steingold wrote:
 
 Hi,
 I use
 Concurrent Versions System (CVS) 1.11.17 (client/server)
 via SSH on cygwin and linux.
 
 During CVS commit, I often get this messages:
 
 Message: [22:06:14] waiting for sds's lock in /cvsroot/clisp/clisp/tests
 
 [note, sds is myself]
 
 then, after a few minutes, commit succeeds.
 

two possibilities I can think of:
1) you are doing some other cvs operation at the same time. (which
version(s) of CVS or/and CVS GUI/SSH agent/SSH clients are you using? or
perhaps you use a script to do your commit, and it starts the secondary work
too soon?)
2) the project admins have put some kind of automatic tool in the committing
script that does a cvs operation in your name. (you may have to ask the
Project admins.)

 I reported this to the repository maintainers and they said that there
 are no lock files there:
 https://sourceforge.net/tracker/?func=detailatid=21aid=1203166group_id=1
 

Compared with your notes here and in that bug report, their analysis seems
sound.
You indicate the commit goes on, after a while, so the locks are definitely
not there by the time they looked for them.

 it appears that the locks are created by my client during commit:
 when I commit foo, it locks foo and then tries to commit it and
 runs into its own lock (which it then reports back to me in the above
 message), and, after waiting for the lock to expire (in a few minutes),
 it proceeds with the commit.
 is this really the case?
 
 Thanks!

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Retrieving dead files from the Attic

2005-05-26 Thread Todd Denniston
Deborah Comeau (LCL) wrote:
 
 Hi
 
 I am also interested in the best way to retrieve dead files. We have had
 several files and some directories deleted properly through CVS. We are
 working only on the head (no branches or tags yet, as it is a new
 project). I have run a few unix commands to determine which files were
 removed, (removed by one person on May 18th), but do not have the latest
 revision numbers. What is the best/proper way to retrieve these files
 from the Attic?
 
 Deb Comeau
in a sandbox you can issue 
cvs history -cal name_of_removed_file
or
cvs log name_of_removed_file
to get the version numbers.

i.e. I issue:
cvs history -cal  $PATH/Makefile
and get:
R 2005-02-16 01:20 + tdennist 1.8 Makefile $PATH == remote

The R at the begining is where it was removed, 1.8 is the 'dead' version, so
to get back a live version...
cvs checkout -r1.7 -p $PATH/Makefile  $PATH/Makefile
cvs add $PATH/Makefile
I think...

This is not intended to be direction to a gov contractor to do anything,
just a listing of information which _may_ answer the question which was
asked.
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the WarfighterThe opinions expressed here are not sanctioned by and do not necessarily 
represent those of my employer.
___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: cvs verifying log message format per branch

2005-05-24 Thread Todd Denniston
Mark D. Baushke wrote:
 
 vik [EMAIL PROTECTED] writes:
 
  I searched for and found a post on exactly this same topic on this
  group, and though it was helpfull, I couldnt figure out the technical
  details. So could someone please help me out?
 
  I am looking for a way to require a certain cvs log format
  --per branch--, For example, I want to require a format like Bug Id:
  digits in our production release branch, but not in the main branch.
  Here's what i found in the other post i read:
SNIP
 The verifymsg script for your module is run once per directory after the
 commitinfo script is run. For client/server operations, it is run from
 the server-side directory that contains a copy of your files that are
 being committed.
 
Would Vik be able to use the same routines as cvs_acls (a commitinfo script,
that comes with the cvs source code) uses, or is the branch passed into the
commitinfo script?
It sounds like Vik wants a 'verifymsg_acls' in the end anyway, may as well
start with code that has already had some serious debugging for a similar
purpose.
 
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: CVS Trigger for CruiseControl Configuration

2005-05-24 Thread Todd Denniston
 Buorn, Yoway wrote:
 
 I am attempting to use a CVS trigger (loginfo) to asyncrhonously execute a
 script that runs maven cruisecontrol to reconfigure CruiseControl on
 each commit. The intent is to capture new CVS modules and automatically
 configure them for continuous integration. (even though I only want this
 upon adding of a module, I decided reconfiguration on every commit is not
 too bad of a side effect)
 
 I have a build machine (running CruiseControl) and a CVS machine.  There
 is an entry in loginfo to execute a script on the CVS machine that uses
 rsh to execute commands on the build machine (to reconfigure
 CruiseControl).  This is what it looks like:
 
 CVS Machine
 
 /export/CVS/CVSROOT/loginfo
 
 DEFAULT \
(/import/home/yoway/bin/rsh-cvs-cruise.sh %s)  \
 /import/home/yoway/commitlog 
 
 /import/home/yoway/bin/rsh-cvs-cruise.sh
 
 REMCMD='bin/cvs-cruise.sh ${1}'
 echo ${REMCMD}
 eval rsh -l cruise -n db2.rd.ideas.gd-ais.com ${REMCMD}
 
SNIP 
 So my problem is this does not run asynchronously.  No matter where I put
 the '', the commit always blocks until maven is done.  I've tried placing
 the '' in rsh-cvs-cruise.sh after the last line (the eval line) and it
 still blocks.  I've tried placing the '' after maven cruisecontrol in
 cvs-cruise.sh and it still blocks.
 
SNIP
1) any reason you use 'eval' instead of just calling the command? 
2) have you tried putting the '' at the end of the rsh? i.e.,
replace `eval rsh -l cruise -n db2.rd.ideas.gd-ais.com ${REMCMD}`
with `rsh -l cruise -n db2.rd.ideas.gd-ais.com ${REMCMD} `
which should put the rsh in the background.
3) have you noted the BUGS section of the rsh man page (at least its there
on Fedora Core 2)?


This is not intended to be direction to a gov contractor to do anything,
just a listing of information which _may_ answer the question which was
asked, and questions that may lead to answers for the question which was
asked.
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the WarfighterThe opinions expressed here are not sanctioned by and do not necessarily 
represent those of my employer.
___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: How to manage administrative file (quite long...)

2005-05-20 Thread Todd Denniston
manuel 'fmf' ferrero wrote:
 
 Hallo *.
 I have cvs 1.11.1p1 on a debian woody and i use WinCvs 2.0.0.2 as a
 client on my windows pc.
 I'm a beginner in cvs, but till now i can use it quite fine after
 reading the fine manuals...

If debian has an update for the cvs binary, it would probably be a good idea
to update it, many security holes have been fixed since 1.11.1p1 (I suppose
debian may have patched them in to that version, it just scares me to see
such an old version being reported).

 
 This week i discover administrative files and i'm trying to use them
 (i'm also root on debian, so i have the force!)
 
 I have two question about them.
 
 First one:
 I've modified my 'modules' file to match modules under cvs so users in
 WinCvs can list them during the checkout.
 Now i read somewhere that i can handle administrative files as a module
 under cvs just checking out the module CVSROOT.
 I tried and it works (except for some problems due to file permission in
 debian), but.
 But if i check out the module CVSROOT and i try to edit my local copy of
 'modules' file it doesn't match the file i can see on the server.
 The file on the server is this:
 
SNIP default modules file
 #Russia Russia
 #Generico Generico
 #filesystem filesystem
 #PleasureX PleasureX
 #Team Team
 #BOOT BOOT
 #Telco142 Telco142
 Consulente1:/usr/local/cvs/CVSROOT#
 ---PINS---
 
 and the local copy on my pc after checking out CVSROOT module is this:
 
SNIP default modules file
 
 It differs in some comment line and the local copy doesn't have the
 module i've added by hand in the past.
 Why?
 

Because you never checked it in, and what you got when you did the checkout
was the version from the RCS file. Copy those lines from the difference you
want into the checked out copy and do a commit.

 Second question: as you can see before, i've added some modules by hand,
 but they are single-word modules, but i also have some modules i want to
 keep under cvs whith names made by two or more word: something like
 'project 1' or 'test suite product X'; windows allows (more or less...)
 to use spaces in filenames, so people here abuse them and i cannot tell
 them to use underscore instead.
 I wasn't able to set up a modules file to match this kind of project. I
 have to remember their names to checkout them in WinCvs. I also tried to
 use -a to set an alias, but i miss something...
 Can i use modules file to list this kind of projects?
 

only by faking out the modules file with soft links, look back in the
mailing list archives for the ways I and some others have done it. I don't
know if the commitinfo script is passed (or can otherwise get) the file
names (for files not directories, directories currently just go in), but if
it is then you may be able to fail any commits of files with spaces in the
file names.

BTW if the users like being able to browse the list of modules and if I read
correctly above that WinCVS does not list them without them being in the
modules file, use the stick of not being able to browse the modules, to
begin getting them to not use spaces.
Granted I have a personal bias against spaces IN FILE NAMES (no problem with
them in prose text) and don't even like the look of spaces in GUI file
managers which is the only place they sort of look ok.

 Someone can give me some hints on how to well manage that files?
 Thanks in advance.

always edit the administrative files in a checked out directory, not
directly in the repository.
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: How to get started

2005-05-19 Thread Todd Denniston
 care of, otherwise they could miss putting
changes into CVS that should have gone.


 I think it would make a lot more sense to do a gradual migration to CVS
 in a different way. Rather than doing CVS half-hearted on the whole
 codebase, you could take a small portion of the codebase, preferably a
 relatively young part, where all (or most) developers work on, and where
 a lot of changes are being made.
SNIP

While I agree with many of the things Maarten said, I disagree here.  I have
done a couple of these imports from ancient manual version controlled
projects. If you are going to do it at all, do the whole thing at once,
while you have the method of getting the old versions, into CVS, straight in
your head.  If I did not do the whole thing at one time, I usually gave up
on getting the old history in the repository and just went with the current
version of all the files I had not yet got in, so the developers could get
going on the whole thing. 

Not doing the whole base at one time IS half-hearted.

 
 A last thing, I think you should forget about keeping the history,
 since, if I understand you correctly, their is no real structure or
 logic in the files-based history you have now.
 
 Maarten

This is actually the biggest set of questions you need to ask yourself (and
possibly the management and coders).

Is having the old versions in the new version control system (VCS) (CVS in
this case) worth the trouble?

Would it be more cost effective (and at least as useful) to put the current
manual repository in an archive directory for reference, and just put the
current versions in the new tool?

If you must put the old versions in the new VCS, 
a) do all of them need to go in, i.e., can you skip ones that are developer
only revs?
b) where are the records indicating the versions or dates of files which
made up coherent sets?
c) which developer is going to set with you to identify the needed versions?
d) what are the names of the tags you want to use for the coherent sets?



Maarten de Boer in another message wrote:
 You could keep the version history, if files are datestamped more or less
 consistently... If I understand you correctly, a file foo could have copies
 over time, 
...
 I[t] should be rather easy to write a script that looks for all those
 versions of file foo, and commits them one by one, ordered by time,
 putting the version suffix in the log message. The main problem here is
 that you should put the oldest version in your initial import.
 

If you are going to import all of the revs, I would suggest following
Maarten's suggestion of writing a script (or a dozen), but if you want to
have the dates it might be easier using RCS to build the ',v' files and then
move them into the CVS repository.

If you are going to use CVS import, I would actually suggest using your
scripts (or do it by hand) to try and build coherent sets in different
directory (structures) to import, and then import each set. It gets very
hard to keep track which set a particular file goes in if you do it one file
at  a time.

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: How to get started

2005-05-19 Thread Todd Denniston
Mark E. Hamilton wrote:
 
 Rondal,
 
SNIP
 2. Next, import everything from the current production area into the new
 repository. This puts everything under revision control, saving all the
 historical information. It also ensures you have a complete, current
 backup if anything goes wrong in the next steps. Sure, it may be a lot
 of irrelevant stuff, but disk space is cheap.
 
SNIP

Mark has outlined an interesting an useful method to do what I was
indicating, if it was decided to keep just the latest revs in the CVS repo.  

After I read it, I decided that doing Mark's steps 1 through 4, would be a
good idea even if the decision was to work all the history into the new
repository.  That is, I would do Mark's 1-4 and then in a second repository
do the work of importing the histories of the files[1], and when the history
imports were done, check back with the original repository to get the diff
from when you set it up (and grabbed the files for making the histories), so
you can patch any current changes into the new repository, then replace the
'production run directory' with a checkout from the histories repository.

[1] i.e., rename foo, foo.2003-04-23,  foo.2003-06-30, baz, baz.2003-04-20,
baz.2003-06-15 to fo and baz in directories like:
2003-5-0/foo -was foo.2003-04-23
2003-5-0/baz -was baz.2003-04-20
cd 2003-5-0
cvs import crownJewels MyCompany AsWasFirstOfMay2003
cd ..
2003-7-0/foo -was foo.2003-06-30
2003-7-0/baz -was baz.2003-06-15
cd 2003-7-0
cvs import crownJewels MyCompany AsWasFirstOfJuly2003
cd ..
current/foo
current/baz
cd current
cvs import crownJewels MyCompany AsWasWhenIFoundThisMess
cd ..
Note, it has been a while since I did a set of imports, I might have the
options wrong. 
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: checkout - no downloads, just entries list

2005-05-18 Thread Todd Denniston
[EMAIL PROTECTED] wrote:
 
 On 2005-05-16, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
 
  Hello,
 
   I have the following problem:
   I would like to checkout a CVS module without downloading its files -
  just the module's CVS description (the CVS directory).
   The problem is that the module is very big (linux sources) and I need
  only few files to build packages.
 
  OK, I solved it.
  I created manually directory CVS with files: Root, Entries,
 Entries.Static and Repository, and now I can download only files I want.
 

This sounds like a very painful way to go.

  The invocation: cvs -d server co SOURCES/package did not work
 - that is why I had to create CVS dir manually.
 

What do you mean 'cvs -d server co SOURCES/package did not work'?
Normally, cvs -d server co CVSRootRelitivePathToFile/filename does what
you want, and quite easily.
Can you please post a cut and paste from any error messages you got to the
list, so we might get a better idea what went wrong?

  In case there is an easier way I would appreciate any comments and
 suggestions for the sake of a general knowledge about CVS.
 
  Sorry, if the problem was the trivial one.
 
 --
 J.tar

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: CVS Annotate or FORCING users to comment their checkins

2005-05-18 Thread Todd Denniston
S I wrote:
 
 Hi
 
 Is there any way to force the users to comment or annotate their commits or
 checkins?
 

Short answer, Yes.

 I know by default the -m comment goes here the system asks them to provide
 a brief comment, however, this can easily be bypassed.
 
 Can a template be set up or is there anyway to do this through the Admin
 level?

Short answer, Yes.

Long answer, search the list and read the manual, specifically on commitinfo
and verifymsg.

I have sent a few messages[1] over the years to the list on how I have done
it, perhaps they would be of use to you, specifically[2] and [3]

[1]
http://lists.gnu.org/archive/cgi-bin/namazu.cgi?query=denniston+verifymsgsubmit=Search%21idxname=info-cvsmax=20result=normalsort=score


[2] Re: using commitinfo and verifymsg 
 Date: Thu, 24 Jun 2004 10:50:22 -0500
http://lists.gnu.org/archive/html/info-cvs/2004-06/msg00414.html

[3] Re: Verifymsg on branches?Date: Wed, 22 Nov 2000 15:29:54
http://lists.gnu.org/archive/html/info-cvs/2000-11/msg00330.html
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Permission Denied for 'other' users

2005-05-18 Thread Todd Denniston
farseer wrote:
 
 I have setup CVS under CYGWIN + XP.
 
 When i commit files, they are added to the repository as read only
 always (-r--r--r-- or -r-xr-xr-x).  this means when anyone else does an
 update and tries to work with these files, he/she is unable to commit
 changes.
 
 does anyone know of the possible causes of this and how to correct?
 
Fix your _directory_ permissions (assuming CYGWIN allows/uses dir perms) to
allow the group/others write privs on the directories. if you can use group
perms on dirs and set the sgid bit it will make your life easier. ignore the
_file_ permissions, CVS takes care of those.
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: How to get changelog between two tags

2005-05-18 Thread Todd Denniston
[EMAIL PROTECTED] wrote:
 
 Hello,
 
 I know there are some discussions in the past about using tags with cvs log,
 but I found no answer to my current problem.
 
 I need to get the changes which are made on some files since a specific tag.
 My Problem is to get also changes from files, which don't have the specified
 tag, because they are added to cvs after the tag has been generated.
 
 What I have tried, is to use the following syntax:
 cvs log -rTag1::Tag2
 
 Is it possible to get the changes for files which don't have Tag1 but have
 Tag2 ?
 
 It is not possible to use the file revision (e.g. 1.13), because I have many
 files (~28000) and it would take to long to get the possible filerevisions
 for cvs log -rFileRev::Tag2 .
 
 Is there a other way, or a hidden parameter, to get also files which don't
 have the Tag Tag1?
 

Unfortunately you can not combine a Date and a tag, but if you know the
dates of both tags I think you can combine them to get what you want like:

cvs2cl.pl  -l -d \2005-05-05T11:202005-05-17T16:51\
or call the log command directly
cvs log -d 2005-05-05T11:202005-05-17T16:51

Note that the date format above does not fully comply with ISO 8601 [2],
because the time zone is not included, so you will have to convert to UTC if
you are getting the date from some tool not using UTC. 

[1] cvs2cl.pl http://www.red-bean.com/cvs2cl/
[2] Date format http://www.w3.org/TR/NOTE-datetime
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Using CVS as an enterprise backup facility

2005-05-12 Thread Todd Denniston
Merlin Beedell wrote:
 
 CVS sounds like a possible solution to the following scenario:
 
 We are currently looking at backing up our main [file] servers to a remote 
 site's hard disk.  The requirements are:
  All files to be copied to the remote site just once (i.e. so that 200Gb does 
 not get transferred every night/week or month over broadband connection).
  From then on we only need to back up new or changed files.
  For Changed files, we need to keep up to 3 (or a configurable number of) 
 prior versions
  We need to see a simple report showing backup completion and any issues on 
 the way
 
  To restore, we need to be able to easily select a file from a directory 
 structure on the backup machine, and choose the most recent or one of the 
 previous versions.
 
 I don't know of any backup software that runs quite like this (does anyone?). 
  Clearly CVS would just be a component of such a system - yet it seems so 
 possible that it really aught to be attempted.  The key part is in a simple 
 interfaces for
   - selecting servers and directories that should be backed up
   - a scheduler
   - a reporter
   - a restore interface.
 
 Am I being mad, or are there loads of existing products that do this, or does 
 this sound like a great idea?

Sounds like you really want to keep your backups in a VMS filesystem[1],
which some might claim indicate you to be heading for madness. I thought
there was a project to provide a VMS filesystem for linux, but I can't find
it quickly. Curiosity question, how many VMS folks you got there?

If ALL of your files are _ASCII text_ then you might be able to implement
what you want with CVS, but otherwise I highly suggest abandoning that idea.

There are several open source backup solutions available[2], AMANDA[3]
backing up to a disk, with some extra tools[4], seems the most likely to me
to come close to what you want. 

In February someone discussed doing what you are suggesting with (or on)
Subversion[5].

If you could live with one backup, but have that backup in live hot real
time, you might want to look at DRBD[6].

[1] http://en.wikipedia.org/wiki/OpenVMS_filesystem
http://www.panix.com/~kingdon/free-vms.html
http://www.tldp.org/HOWTO/Filesystems-HOWTO-9.html#ss9.19
[2] http://freshmeat.net/search/?q=backupsection=projectsGo.x=0Go.y=0
[3] http://amanda.sourceforge.net/
[4] http://freshmeat.net/search/?q=amandasection=projectsGo.x=0Go.y=0
[5] http://svn.haxx.se/users/archive-2005-02/0892.shtml
[6] http://www.drbd.org/
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Validations in CVS

2005-05-06 Thread Todd Denniston
Khurram Rashid writes:
 This is a multi-part message in MIME format.
Please do not send MIME and/or HTML encrypted messages to the list, or even
to me directly.
Plain text only, PLEASE!

 I just wanted to know if there is any way in CVS to do 
validation check in, i.e.
 Developer checks out a module from CVS
 Developer makes some changes in the code.
 Developer then checks in the module as validation check in.

 At this stage by validation check in I mean that the 
 module has to be reviewed by a validator before 
 finally committing the module in the repository. i.e.

No.
it is either committed (checked in to the repository) or it is not.

 Validator now checks out the module from CVS
 Validator validates the module
 Validator commits the module in CVS

You can however have a process using branches to implement this scheme using
cvs. Have a branch(or set of them) which the developers can commit to, have
another set of branches for the Validators to merge commits to and use
cvs_acls to prevent developers from committing to the validated branch.

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Alias syntax for a module that has a space in its name

2005-04-21 Thread Todd Denniston
Ed J wrote:
 
 What is the syntax for creating a module alias when there is a space in the
 module name?
 

Not Possible, but it can be worked around.

SNIP 
 Is this a TortoiseCVS issue?
No.
See:
http://lists.gnu.org/archive/html/info-cvs/2001-06/msg00350.html
My solution, put a simlink in the repo to the directory of interest, and in
the modules file use the link.
This still lets you get it with the space [1] when doing release builds, but
lets you make aliases to smaller chunks when you are working.

[1] IMNSHO, spaces in file and directory names are one of the many evils in
computers, remove them when possible and re-educate the creators (as much as
you are allowed :). 

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: cvs add-ing large source tree

2005-04-21 Thread Todd Denniston
Jate Sujjavanich wrote:
 
 My theory was wrong. A log file of the find ... -type f | xargs cvs add
 shows that it never schedules the missing file for addition. I'm not
 sure why yet.
 
 - Jate S.
SNIP

how about trying 
`find ... -type f | xargs -l cvs add`
 From the size of the tree you described, I would expect you could create a
command line of over 1024 chars very quickly. I am trying to remember, I
thought the command length was limited somewhere around 256 chars, but it
could be longer.
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: history command

2005-04-19 Thread Todd Denniston
Larry Jones wrote:
 
 dave frost writes:
 
  Could anyone tell me how to get user commit comments in the
 
  cvs history -e -a
 
  output ?
 
 Only by rewriting CVS.
 
 -Larry Jones
 
Or by re-writing your question to ask how to get the information you need,
not how to make a command do something it was not meant to do.
i.e. what out of `cvs history -e -a` do you actually need, to go along with
the output from `cvs log`?
I rarely, i.e., NEVER, find the information in cvs history to be of use,
except when trying to rebuild a repository from the remains of a failed raid
0 array (been there done that, better backups now), however the output of
`cvs log` as parsed by the script cvs2cl [1] is something I use almost
daily. If you still want the output of `cvs history -e -a` combined with the
output of `cvs log` then look at cvs2cl and see about writing a
script||program to do the combination for you.

[1] http://www.red-bean.com/cvs2cl/
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Silly question about CVS and permissions

2005-04-18 Thread Todd Denniston
Michaelis, Daniel writes:
 
 This is a multi-part message in MIME format.Please do not send MIME and/or 
 HTML encrypted messages to the list.
Plain text only, PLEASE!

SNIP
 there doesn't seem to be anything that prevents User1 
 from going into the ProjectDir1/bin directory and 
 removing file2 (which is owned by User2). 
SNIP
1) the users should not be working directly in the repository except in very
rare cases and should be approved for doing the work there, this should be a
stated company policy.
2) if you are using ssh, ssh can be configured to limit the commands allowed
to be ran by the user(except if the user figures out a hole in the programs
they are allowed to run, see the next item).
3) if the user is violating company policy, whether or not that involves
breaking another program, discipline appropriately.

SNIP
 I've kludged a solution, which is to set the setuid 
 flag on the cvs executable, but I've seen a number 
 of posts that indicate that isn't a wise move, and 
SNIP
This sounds like a pserver problem, and if you are worried about security,
you don't use pserver.

SNIP
 1.Is it the design of CVS that any user that needs 
 to check in/out files must have read/write 
 permission on all of the directories into which 
 he/she can check in files 
 (meaning that he/she has remove permission 
 at the O/S level within these directories)? If so, I'll 
 stop trying to solve this problem. 

Yes.

   2.Are my (CVS/Repository missing) messages related 
 to the setuid that I've done on the cvs executable? 

Unknown, which method are you using to login? 
what does `echo $CVSROOT` return or what are you passing after `cvs -d`?

   3.If the previous is true, is that because setuid is
  truly not supported for the cvs executable, or is it 
 something that I've misconfigured? 

   4.If there is a way to prevent destruction of files, 
 and it is not through setuid, what is the method by 
 which I would accomplish this? 

The users should only be accessing the repository through cvs.
The company should make a written policy that the users will only access the
repository through cvs.
The users should be trained that they should only access the repository
through cvs, and that it is company policy.
The company should only (I hope this is common sense) higher and retain
employees who can understand and follow company policies regarding
destruction of company property(code base in this case).

technology can help a little here, keep the cvs repository on a machine
which has been setup for ssh access and has ssh access limited to running
cvs, for all but administrative people.
 

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Silly question about CVS and permissions

2005-04-18 Thread Todd Denniston
Michaelis, Daniel wrote:
 
 Todd,
 
 Thanks for the answers.
 
 Regarding your comments, my intent is less to provide a secure environment
 (we don't expose cvs outside the internal network), and I'm not terribly
 worried about malicious destruction of data; I'm much more concerned with
 the occasional fat-fingered mistake that folks make, 

The big trick here is to reduce the reason for them to be _where_ they can
make a fat-finger.  As I (in an overbearing manner) suggested, only put
things in the repository that the users need to get to through cvs, and if
you are CMing other things, they should be in other directories that are
controlled by a different CM agent (which might be A single human||user),
not all users need write access to _all_ the directories with the artifacts
contained in them.

 or the mistaken
 impression that they're on server A when, in fact they're on server B.  As
 such, it's probably not worth the administrative hassle to restrict ssh (but
 you're right; that's probably the best solution for a secure environment).
 

To solve the server A vs B problem, on our lan we use rsh and some ssh.  The
big thing though is to get the users to _ consistently _ use the _ remote _
access method, even when they are on the server local to the hard drive.  In
short, all users should ALWAYS use a remote access method to the same
'remote' computer even when they are on the 'remote' computer. I have
accomplished this by having a script for each project, that when the person
changes to a new project they start sourceing the appropriate script to
setup things like $CVSROOT, path to libs, compilers and programing tools (as
needed), this way we have configuration management over the pertinent parts
of the environment the program is being created in.  


-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Versioning modules instead of files?

2005-04-14 Thread Todd Denniston
Matthias Kaeppler wrote:
 
 Sergei Organov wrote:
  Matthias Kaeppler [EMAIL PROTECTED] writes:
SNIP
 It would be a lot better, if the versioning would happen on the module base,
 i.e. you can commit the content of your sandbox as a new version of your
 program rather than new versions of the individual files.
 
 
 Is that possible somehow? I can't find any means at all in the documentation
 to keep track and control the /program/ version instead of the individual
 source file revisions.
 
 
  cvs tag is your friend:
 
  quote manual
SNIP
  /quote manual
 Ah okay, thanks for pointing me to the right direction.
 I'll read up on tagging and come back if I have further questions.
In anticipation of what I expect your next question to be:
CVS keeps the checkin logs with each individual file, how do I get a log
that shows a coherent picture of each checkin?

Please see cvs2cl:
http://www.red-bean.com/cvs2cl/

There may be other tools to do it, but this one is my favorite.
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: online backup

2005-03-31 Thread Todd Denniston

Hi, 

 

 We have a cvs server and right now we just 
 take a .tar.gz of the cvsroot directory. 

 If we restore it then the user cannot start 
 using the restored cvs data. 

 I need to configure a online cvs server where 
 both the servers are in sync and the second server should act a hot backup. 

 If server 1 fails then the users should  
 automatically/manually be redirected to the new server. 

 Is there any specific HOW-To for doing 
 such things ?  

For a hot backup my solution involves DRBD with heartbeat.
 http://www.drbd.org/
http://wiki.linux-ha.org/
http://wiki.linux-ha.org/GettingStarted_2fDRBD

and for the CVS side of it, try following the thread I started here:
cvs as a heartbeat client
http://lists.gnu.org/archive/html/info-cvs/2004-03/msg00182.html

I have not yet gotten permission to post my cvs-heartbeat script, so you
will have to (re)create it from the same notes I got. Sorry.

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Remote repository permissions best practices

2005-03-28 Thread Todd Denniston
Howard, Les wrote:
 
 I've hacked my way through setting up a few CVS repositories in the past,
 but I've always struggled with getting the user/group ownership and file
 permissions correct.  I always seem to end up with a setup where the users
 can't access the files that other users have submitted without going into
 the repository as root and chmod/chowning some of the files. 

Sounds like you did not set the SGID bit on the directory structure.
https://www.cvshome.org/docs/manual/cvs-1.11.19/cvs_2.html#SEC13
(On some systems, you also need to set the set-group-ID-on-execution bit on
the repository directories (see chmod(1)) so that newly-created files and
directories get the group-ID of the parent directory rather than that of the
current process.)

SNIP
 What is the right way to set up the repository, users/groups on the
 repository or users/groups on the remote workstations as far as file
 ownership and permissions go so that all users will be able to easily work
 on the files that each-other has submitted? 
SNIP
 but nothing about how to setup file
 permissions/ownership properly.
 Les

1) all the users who need write access to the repository should be in the
same UNIX group.
2) after doing `cvs init` you need to chmod g+sw the repository project
directory, i.e., 
`chown :projectUNIXgroup $CVSROOT/project/; \
chmod g+sw $CVSROOT/project/`

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Remote repository permissions best practices

2005-03-28 Thread Todd Denniston
Todd Denniston wrote:
 
 Howard, Les wrote:
 
  I've hacked my way through setting up a few CVS repositories in the past,
  but I've always struggled with getting the user/group ownership and file
  permissions correct.  I always seem to end up with a setup where the users
  can't access the files that other users have submitted without going into
  the repository as root and chmod/chowning some of the files.
SNIP
 1) all the users who need write access to the repository should be in the
 same UNIX group.
 2) after doing `cvs init` you need to chmod g+sw the repository project
 directory, i.e.,
 `chown :projectUNIXgroup $CVSROOT/project/; \
 chmod g+sw $CVSROOT/project/`
BTW, as you currently have a repo, you may need to walk the whole existing
repository tree and do something like:
(assuming no spaces in your directory names, and you use this at your own
risk)
cd $CVSROOT/
chown :projectUNIXgroup project/
chmod g+sw project/
for i in `find project -type d`
do
 chown :projectUNIXgroup $i
 chmod g+sw $i
done

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Remote repository permissions best practices

2005-03-28 Thread Todd Denniston
[top posting as a courtesy for Doug]
-R Recursively change permissions of  directories  and
  their contents.

Its the their contents part that is the problem, you only need and want to
change the ownership and permissions on the directories.

The files should be read only, and we don't car who owns them.

Doug Lee wrote:
 
 On Mon, Mar 28, 2005 at 04:05:51PM -0500, Todd Denniston wrote:
SNIP
  BTW, as you currently have a repo, you may need to walk the whole existing
  repository tree and do something like:
  (assuming no spaces in your directory names, and you use this at your own
  risk)
  cd $CVSROOT/
  chown :projectUNIXgroup project/
  chmod g+sw project/
  for i in `find project -type d`
  do
   chown :projectUNIXgroup $i
   chmod g+sw $i
  done
 
 What's the matter with
 
 cd $CVSROOT
 chown -R :projectUNIXgroup .
 chmod -R g+sw .
 
 assuming constant :projectUNIXgroup and no need for different
 permissions anywhere under $CVSROOT.  I wonder in particular if a
 subsequent reset of owner/perms in $CVSROOT/CVSROOT would be in order.
 
 I think -R is standard for both chown and chmod now, but a couple of
  `man' checks on the target system wouldn't hurt.--
 
 --
 Doug Lee   [EMAIL PROTECTED]http://www.dlee.org
 Bartimaeus Group   [EMAIL PROTECTED]   http://www.bartsite.com
 Innovation is hard to schedule. -- Dan Fylstra

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Remote repository permissions best practices

2005-03-28 Thread Todd Denniston
Jim.Hyslop wrote:
 
 Todd Denniston wrote:
  1) all the users who need write access to the repository
  should be in the
  same UNIX group.
 Doesn't this effectively negate any benefit of using groups? For example, in
 our setup we want full-time staff to have general access to most of the
 repository, and co-op students to have access only to those sections of the
 repository they are working on. Certain sections of the repository are
 3rd-party sources protected by an NDA, so only specific people (including
 both full-time and possibly co-op students) have access to those sections.
 How would you accomplish this by using a single group? We can't use
 cvs_acls, because it only restricts access on check-in, not on check-out.

ok another set of assumptions on my part
1) each _project_ has a separate repo and any NDA stuff is kept even
separate from the other normal things.
2) you have three sets of users, a) ones who can write to the repo, b) those
who can read from the repo, and c) those who have no rights to the repo.
This is all I have had to deal with.
If I had to have a section where all my staff could read/write a section of
the repo and co-ops could read/write that section as well, I would probably
make group staff a member of group coops, and set that section of the repo
to group coops. However I have never done it so I would probably be wrong.
3) if I don't want someone having checkout privs then they are not in the
group for that project or the group that has write privs to the LockDir.
 Note: each project in my world has its OWN group, being in group staff gets
you VERY little.

Sorry, 
I lead a sheltered life with an un-interesting mix of users. :)

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Diff Info

2005-03-25 Thread Todd Denniston
SUBRAMANIAN, SARAVANAN (SBCSI) wrote:
 
 Hi All
 
 I need to find out how many are files are added, modified and deleted
 from one version tag to another tag.
 Please help me out.
 
 Thanks
 SARAVANAN SUBRMANIAN
 SCM
 Centrex Mate

In the future, Please chop out any digest matterial that is not related to
the new question.

Try the following script.

echo -n new files;
cvs diff -N --brief -rTAG1 -rTAG2 2/dev/null| \
grep differ|grep s \/dev\/null|wc -l;
echo -n removed files ;
cvs diff -N --brief -rTAG1 -rTAG2 2/dev/null| \
grep differ|grep d \/dev\/null|wc -l;
echo  -n changed files; 
cvs diff -N --brief -rTAG1 -rTAG2 2/dev/null| \
grep differ|grep -v \/dev\/null|wc -l

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: sserver failure - SSL connection failed

2005-03-17 Thread Todd Denniston
Jason Williard wrote:
 
 I just completed the installation of our new cvs server.  At this point, it
 is working as it should be with one exception; sserver is not working. 
SNIP
 I am able to successfully checkout the CVSROOT module using pserver, so I
 know that system is working.  I am assuming that the issue has to do with
 the private key or public certificate, but I am not sure.
 
 Here is what I have installed:
  - Fedora Core 1
  - 1.11.1p1.perm13 (From freepository.com)
  - OpenSSL 0.9.7a
 
 The SSL key and certificate were issued and placed in /etc/cvsSSLkeys.
 
 I am using TortoiseCVS on a Windows system to connect to the repository.
 
 Is there something that I am missing here?

I think what you are missing is 
1) that sserver is a CVSNT modification
http://www.google.com/search?hl=enq=sserver+site%3Acvshome.orgbtnG=Google+Search
http://www.google.com/search?hl=enlr=q=sserver+CVSNTbtnG=Search
Note that as Arthur Barrett reminds us usually, CVSNT will also install
under UNIX if you want it.
http://www.cvsnt.org

2) even under normal cvs, version 1.11.1p1.perm13 is ancient and bug
riddled.
https://www.cvshome.org/
https://ccvs.cvshome.org/files/documents/19/746/NEWS.1.11.19
https://ccvs.cvshome.org/servlets/ProjectDocumentList

Hope this helps.
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: sserver failure - SSL connection failed

2005-03-17 Thread Todd Denniston
Jason Williard wrote:
 
 That recommendation was helpful, though I'm still unable to get SSL working.
 However, I feel more confident with this version of CVS.  At this point, I
 have cvsnt-2.0.58d running.  Once again, pserver is working but sserver is
 not.  
SNIP
If the topic covered is specific to CVSNT (which this topic is), you will
get better (or any) answers asking on their specific mailing list.

http://www.cvsnt.org/wiki
http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: rolling back and importing

2005-03-16 Thread Todd Denniston
Justin, with a bogus email address, wrote:
 
 Hi,
 
 Disclaimer: Unfortunately I come from a Visual Source Safe world, so
 please forgive my stupid questions:
 
 1. Recently a developer submitted some bad code to the CVS server. I
 asked my local cvs contact how I could rollback the changes the dev
 made. I was informed that it would be difficult because there wasn't a
 recent tagged version. I found this perplexing, as this is pretty easy
 to do in Source Safe. There must be a way in CVS?
 
If the checkin action on the repository has a good quantity of time between
the checkins on either side of the bad code checkin, you could probably
use the implicit tags CVS applies, that is, checkin date+time.

Note that I have not tried this recently so you should probably back up your
repo, and/or try it on a copy of your repo first.

1) cd to the root of a checked out sandbox.
2) run `cvs2cl -r -t` [1] on a checked out sandbox. 
3) find the offending commit in the Changelog file (the output of cvs2cl).
4) find the time of the offending commit (BADTIME), and the commit previous
to it (BEFORBADTIME).
Note 4a: cvs2cl outputs time in local and CVS uses UTC.  when doing the
tags below you either need to convert the cvs2cl time to UTC, or tell cvs
that the time given to -D is in your timezone, that is, if you are in TZ=EST
you tell cvs '-DBADTIME EST'.
Note 4b: that you may need to _add_ a 'fudge' to the date time of a few
seconds or a minute to get the tags applied to the versions you want. This
is why you want to see some time between the commits.
4a) If there is a good delay before and after the bad commit, you can use
the times, if not you will have to apply the tags to the REVISION of each
_file_ individually (not an easy task, been there done that).
5) run `cvs tag -DBADTIME BrokenCommit` on the whole sandbox.
6) run `cvs tag -DBEFORBADTIME BeforeBrokenCommit` on the whole sandbox.
7) re-run `cvs2cl -r -t` and you should see BrokenCommit and
BeforeBrokenCommit listed as utags in each of the commits identified in
step 4, if not you may have to increase the 'fudge'.

You now have the recent tagged versions your cvs contact wanted, perhaps now
you might check with that person to see if my next command is good/bad.

8) run `cvs update -jBrokenCommit -jBeforeBrokenCommit` on the whole
sandbox, Note I almost expect have this command wrong.


[1] http://www.red-bean.com/cvs2cl/

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Problem with file permissions after checkout/update

2005-03-16 Thread Todd Denniston
Dave Bartmess wrote:
 
 I'm getting files from checkout and update commands that have no file
 permissions at all... The directories show the directory bit set, but
 files have NO bits set for permissions.
 
 What could cause this? We're using CVS 1.11.19, on a window platform,
 and using cygwin for the command line.
 
 This is holding up a build, please help!
 
Reaching for straws... did you use the cygwin cvs client or one of the
windows based cvs to do the checkout?  Reason for query, not sure what perms
cygwin would apply to files it did not put in the filesystem.
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Persistent Notification Emails

2005-03-16 Thread Todd Denniston
Ricardo Cortes wrote:
 
 Hi,
 
 We divided one of our projects up awhile ago into two separate projects,
 one for static content and one for dynamic Java/JSP files.  When we
 initially created the static content project, we performed an import so
 we wouldn't lose the CVS history.  After doing this we realized that we
 no longer cared to receive CVS commit notifications on the new static
 content project.  I tried modifying the loginfo file (we are using the
 mailAndLog.sh script with logInfo.pl) and removing the entry for the new
 static content project but we are still getting inundated with unwanted
 emails from the new static content project.  Does anyone know how to
 stop these emails from being sent out for just our static content
 project?  Any help would be greatly appreciated as I wasn't able to find
 an answer on Google nor in the archives.
 
 Thanks!
 Ricardo
check $CVSROOT/CVSROOT/loginfo, I suspect you will find the only
un-commented line is something like:
DEFAULT ...logInfo.pl...

if you change DEFAULT (or perhaps they change the syntax to ALL) to the
name of the module(s) where you still want email, then you will only get
email on those modules.
See the manual here:
https://www.cvshome.org/docs/manual/cvs-1.11.19/cvs_18.html#SEC173

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: rolling back and importing

2005-03-16 Thread Todd Denniston
Justin wrote:
 
 Hi,
 
SNIP
 2. I have two versions of our source code I want to import into cvs. I
 would like to import the first version, then tag it and import the
 second. But I don't want to tag the second because it's not ready yet.
 How can I import the new code into the same trunk as the tagged version?
 Import the second as a different tag, then delete that tag? After all,
 Import will sync with the trunk, as well as create the tag right?

three choices:
1) use `cvs import` with a tag you don't care about for the second one,
i.e., 
`cvs import repository vendor-tag I_HadToPutItHereButDontCare1_release-tag`

2) use normal methods, i.e., for the second one checkout from the repo and
copy the changed files on top of the sand box and commit (do any add/removes
as needed). Note that this will get you a bunch of conflicts on the trunk if
you ever use import again.

3) always use normal methods, i.e., from the start do all the cvs
add/remove/tag/commits by hand.


-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: verifymsg script

2005-03-14 Thread Todd Denniston
[EMAIL PROTECTED] wrote:
 
 What information does CVS provide that a script that runs
 in verifymsg, ie, during a cvs commit, can process? I want
 to write a script that scans this info and say Hey I
 was looking for such and such, and didn't find it. The
 commit will then subsequently fail.
 

Re: Verifymsg on branches?Date: Wed, 22 Nov 2000 15:29:54
has an simple example rcsinfo  verifymsg which I have used on a project to
make sure people put in bug numbers and at least simple comments. (it could
be a starting point.)
http://lists.gnu.org/archive/html/info-cvs/2000-11/msg00330.html

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: linux distribution

2005-03-03 Thread Todd Denniston
Gleidson Sá Barreto wrote:
 
 which better linux distribution for server cvs?
 
It may seem trite, but the answer is simply:
The one you loaded.

All the distributions have their own advantages and disadvantages.  I know
of no reason any one of them should be picked over another in the case of
just building a CVS server. If you like the way Fedora (RH) or Debian does
their update distribution, use that, If you like to do it yourself Slackware
or Gento might be your thing.

Generaly, its the one you are most comfortable with (which might even be a
BSD :O ).
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Long version numbers | Tedious to keep track

2005-03-02 Thread Todd Denniston
Jim.Hyslop wrote:
 
 Swaroop George wrote:
SNIP
 
  - Is there anyway of alternate versioning and making it much more
  simple, but still maintaining the history to an extent.
 I'm almost certain your branching and versioning strategy can be simplified.
 It's been my experience that when people create such a complex branch
 structure sit down and analyze what they really need (along with an expert
 who truly understands branching) the branch and merge process becomes _much_
 simpler.
SNIP
Along those lines you (or your to be branching expert) should probably take
a look at Brad Appleton's Assembling Configuration Management Environments
pages[1] (and books). He has a section specifically on branching techniques
and reasoning[2], which I have found useful in the past.  I thought I had
seen some user feed back in some sections where individuals noted how they
had used the pattern under various version control tools, and how it worked
for them.


[1] http://www.cmcrossroads.com/bradapp/acme/
[2] http://www.cmcrossroads.com/bradapp/acme/#Branching
http://www.cmcrossroads.com/bradapp/acme/branching/
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: CVS concept of time - time zone part 44!

2005-02-28 Thread Todd Denniston
Larry Jones wrote:
 
 Todd Denniston writes:
 
  Will there be an option I can put in my _ environment _ so all CVS commands
  client will show UTC times?
 
 Most systems honor $TZ.
 
darn, I was hoping I could have everything else work with the local $TZ and
cvs would use something like $CVS_TZ and only fallback to $TZ if $CVS_TZ was
not set.

Thanks.
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: terminated with fatal signal 9

2005-02-28 Thread Todd Denniston
OTESAO wrote:
 
 Hi
 
 I'm a newbie
 I've tried to checkout the contents of a module to my local directory
 and some files got checked out
 but all of a sudden i got a
 Terminated with fatal Signal 9
 
 Any help would be appreciated
 thanks
 Peter
Assumption, your system uses the same signals as my linux box.

`man 7 signal`

   Signal Value Action   Comment
  
-
   SIGKILL   9   AEF Kill signal
   The letters in the  Action  column  have  the  following
   meanings:

   A  Default action is to terminate the process.
   E  Signal cannot be caught.
   F  Signal cannot be ignored.

Usually this means someone explicitly called `kill -9 your_process`, I don't
know of the kernel ever using this signal without it being sent with a kill
command. In most systems only you and root can do that to your process, so
start with those people. :)
Find out who and why.

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: CVS concept of time - time zone part 44!

2005-02-24 Thread Todd Denniston
Larry Jones wrote:
 
 Mark D. Baushke writes:
 
  CVS keeps time in UTC to allow for clients that may be in other
  timezones. It is always in UTC. User input of dates defaults to
  local time, but you may add a timezone explicitly to the datestamp
  if you wish.
 
 The feature release of CVS (1.12.x) generally displays times in the
 client's local timezone rather than UTC like all previous releases did.
 
Will there be an option I can put in my _ environment _ so all CVS commands
client will show UTC times?
I have grown rather used to it, and it makes more sense to me now than
seeing it in a non constant zone.
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Getting comments form the log

2005-02-23 Thread Todd Denniston
Mohanty, Debi (GE Healthcare, non-ge) wrote:
 
 Hi,
   Is there any way to pull out only the comment from the CVS- LOG command.
 
 ThanksRegards
 Debi
 
please see cvs2cl as an example.
http://www.red-bean.com/cvs2cl/
it gets other things as well but it processes the log messages down to
something a little easier to parse by humans.  It can also output formatted
XML which _might_ be easier than the output of 'cvs log' to parse with a
program.

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: How to document tags?

2005-02-23 Thread Todd Denniston
Jim.Hyslop wrote:
 
 kj wrote:
  Is there any good way to document (using normal, unabbreviated
  English prose, as opposed to cryptic tag names) the meaning of
  individual tags?
 Not directly within CVS itself. Our company's guidelines require each
 project to have a file, tags.txt, which documents the tag, when it was
 applied, who applied it, and what it's used for. As you might guess, the
 biggest problem is remembering to make the entries in the file.
 

I do the same thing here, but getting tags.txt updated is not a problem
because all tags are applied with a script, which takes as input the
documentation as a string and traps the rest of the who/when from the
environment, the script first checks out a tree,  then puts the data in
tags.txt, commits tags.txt (with the documentation string as the comment),
tags all the files in the tree including tags.txt, and finally releases the
checkout.  This also makes it nice when doing cvs2cl, as the tag (and why
the tag was done) shows up on tags.txt when it was done, so you can see in
with the rest of the chronological ordered data when the tags were applied
(within a few seconds anyway).

This works great for tagging the head of the trunk or a branch, which has
been adequate for our needs, but if you want to tag some sandbox state it
would need to be modified to walk back to the root of the sandbox checkout
(boy some fun logic here), then do all the mods+commits+tagging.

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: problem setting cvs pserver

2005-02-17 Thread Todd Denniston
alex wrote:
 
   server_args = -f --allow-root=/usr/local/cvsroot server
 
  should be
 
   server_args = -f --allow-root=/usr/local/cvsroot pserver
 
  You need pserver not server
 I made a typo. server_args is:
 server_args = -f --allow-root=/usr/local/cvsroot pserver
 the result is the same.
 telnet localhost 2401
 Trying 127.0.0.1...
 Connected to localhost.localdomain (127.0.0.1).
 Escape character is '^]'.
 Connection closed by foreign host.
 Any more help welcome.
 Alex

You may have to put the line 'disable = no'[1] in /etc/xinetd.d/cvspserver.
have you issued `service xinetd restart`, since setting up
/etc/xinetd.d/cvspserver?

has the following link been of any help?
https://www.cvshome.org/docs/manual/cvs-1.11.19/cvs_21.html#SEC187

[1] For reasons I have forgotten, I believe there needs to be a tab between
'disable' and the '='.
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Tuning CVS performance.

2005-02-14 Thread Todd Denniston
John Carter wrote:
 
 On Fri, 11 Feb 2005, Michael Schiestl wrote:
 
  Where the hell is the bottleneck? Is there a way to make CVS faster?
 
 While I wouldn't called CVS slow, I would appreciate some hints on
 optimizing / tweaking performance.
 
 We're using version 1.11.1p1 via pserver on a Redhat Linux version
 2.4.17+acl on an ext3 file system and things are starting slow
 down painfully for some of our larger modules.
 
SNIP
Two things that might speed it up some,
1) update to something past 1.11.1p1, they started using mmap on the files
in 1.11.2 which CAN make things faster. and as an added bonus you get
security fixes.

2) see if you can get a newer kernel, self compiled.  a kernel optimized for
the hardware you have (instead of generic 386 calls) can be a little faster
thus speeding up the whole system.

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: enabling log.pl

2005-02-11 Thread Todd Denniston
Parvinder Singh Arora wrote:
 
 This is what is the entry in my loginfo file
 
 ALL (echo ; date; cat) | \
 /usr/local/cvsroot/CVSROOT/log -u $USER -s \
 -m [EMAIL PROTECTED]
 

[ED. I broke the lines above with \s to make it clear this is expected to
be one line in the file]

What is it you intended the `(echo ; date; cat)` to do?
I tried:
(echo ; date; cat) |less
and found it annoying in an interactive environment, as cat does not exit.
`(echo ; date)` might be useful, though.

also I am assuming that in your loginfo, the line you sent is all on ONE
line.

 And when i try to do some commit this is what i get :(
 
 [EMAIL PROTECTED] CVSROOT]$ cvs commit temp.txt
 Checking in temp.txt;
 /usr/local/cvsroot/CVSROOT/temp.txt,v  --  temp.txt
 new revision: 1.10; previous revision: 1.9
 done
 Could not open(): No such file or directory
 sh: line 1: : command not found
 cvs server: Rebuilding administrative file database
 
 ~Parvinder
Is the /usr/local/cvsroot/CVSROOT/log script your own or one of the ones on
the net? (a net one we might be able to look at the source and guess what is
going wrong.)
Just from the name difference in your subject and here, I would expect the
problem might be that sh is trying to interpret a perl script and failing.
You might check the first line of /usr/local/cvsroot/CVSROOT/log and verify
the first line is of the type #! /something/bin/perl, if it is then verify
that /something/bin/perl will execute (or change it to point to the real
perl on your system).


-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: why is CVS so slow

2005-02-11 Thread Todd Denniston
Michael Schiestl wrote:
 
 Hello,
 
 I am using the latest version of CVSNT in combination with TortoiseCVS in my
 100Mbit LAN. My Computers are quite up-to-date (~2Ghz, 512MB RAM). Still,
 CVS operations are really slow (add, commit, update,...). I can see no
 reason for that. The CPU usage is at about 10%-20% on both - client and
 server - computers. Same with the network utilisation which is around 5%.
 

what is the access method? pserver, rsh, ssh, smb mounted directory, CVSNT
method?
Is your name server working well? (should take  10 seconds to nslookup all
254 names in the last octet, I know this one as I am currently experiencing
a problem)
does someone have a switch/hub looped through another switch/hub and back to
the original switch on your network? (sure low utilization, just high
burst/collision) Note, this could also be on a 10Mb sub LAN if you have some
legacy equipment (thin net/thick net).


BTW CVSNT questions will probably get answered better on their list.
http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt




 Where the hell is the bottleneck? 

answers to the above questions may narrow it down.

 Is there a way to make CVS faster?

sometimes. :)
(times stated for a checkout of a 300MB tree I have worked with)
using it on the physical server is as fast as you will get (I think). (1-2
Minute)

using it through pserver, rsh or ssh are usually very reasonably fast on a
LAN.(3-10 Minute, checked out with rsh onto a NFS mounted sandbox, both sets
of trafic on the same 100Mb network)

NFS/SMB mounted repositoryDON'T DO IT (for other reasons, search the
archive for this list for network file system|SMB|NFS). 

 
 Greetings,
 Michael
 

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: from cvs@localhost.localdomain

2005-02-11 Thread Todd Denniston
Guus Leeuw jr. wrote:
 
  -Original Message-
  From: [EMAIL PROTECTED] [mailto:info-cvs-
  [EMAIL PROTECTED] On Behalf Of Parvinder Singh Arora
  Sent: vendredi 11 février 2005 17:58
  To: info-cvs@gnu.org
  Subject: from [EMAIL PROTECTED]
 
  Where do i need to update this at my server ?
 
 Read the sendmail/postfix manual, and the Admin Guide of your OS, so as to
 know how you set hostname / domainname for a server.
 
 Guus
On a Fedora Core system you have to fix an install fault.
the line with local host should just have local host.
the short name for the machine should be on the line with the actual IP and
Fully Qualified Domain name.
example
127.0.0.1 localhost.localdomain   localhost
192.168.1.128 cvshost.example.com cvshost

this at least has fixed it for me.
(older distributions normally even had a note just above localhost that
indicated that was all that should be on that line!)
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: #cvs.locks directories multiplying

2005-02-11 Thread Todd Denniston
John Davin wrote:
 
SNIP
Sorry, I can not help you with the #cvs.locks, but

 I have cvs version 1.11.17  and 1.11.5 (and that one can not be upgraded
 because it's on a shared cluster which I don't have root on).
SNIP
If you are using rsh or ssh instead of pserver to login, you can compile cvs
and put it in your home directory structure, and then set 
CVS_SERVER=/home/myusername/whereinstalledcvs/bin/cvs
in the client environment.
ends up being a nice way to test out new cvs versions yourself before
putting them in production use.

BTW, are the #cvs.locks created on the server or in your sandbox?
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: cvs log: incorrect usage?

2005-02-11 Thread Todd Denniston
coach24 wrote:
 
 If my repository is /usr/local/cvs, am I not supposed to be able to do
 this:
 
 cvs log /usr/local/cvs/project/file.py,v
 
 I get the *PANIC* administration files missing error every time.  There
 is a CVS directory for that project.  This command doesn't work on two
 different machines in three different repositories.  What gives?

ClueX4 yourself until you no longer feel the need to use commands directly
on the repository files after you set it up, with _one_ exception the backup
routine. :)

 
 Now, if the cvs log command is only supposed to be used in checked out
 sandboxes, fine. 

This is a true statement.

 What can I do then to be able to parse repository
 files for tags?

In a sandbox:
cvs log file.py |grep -A25 symbolic names:

everything between symbolic names: and keyword substitution: is a
relationship between a tag and a file revision.
Does this help?

 
 Thanks for your help,
 Bob
 
 PS cvs history on the same pathname works just fine.
um, don't do that either. :)
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: cvs log: incorrect usage?

2005-02-11 Thread Todd Denniston
Bob McCallister wrote:
 
 But what if I want to know what tags are available for a given project?  We
 have a librarian who checks out tagged versions of projects to their
 production location.  That librarian has no idea who is working on the
 project and therefore doesn't know where the working copies reside.  Are
 you saying the librarian should have to check out a copy just to get the
 tags?

1) You already indicated the librarian HAS a checked out copy as part of
thier job. :)
the log command IIRC lists ALL revisions and tags, not just the one that was
used to checkout a version.

2) as larry mentioned rlog (on current versions) will work without a checked
out copy.

3) how is your libriarian to know what one they should be checking out
anyway?
Surely your process includes passing along the current production tag,
correct?

 
  coach24 wrote:
  
   If my repository is /usr/local/cvs, am I not supposed to be able to do
   this:
  
   cvs log /usr/local/cvs/project/file.py,v
  
   I get the *PANIC* administration files missing error every time.  There
   is a CVS directory for that project.  This command doesn't work on two
   different machines in three different repositories.  What gives?
 
  ClueX4 yourself until you no longer feel the need to use commands directly
  on the repository files after you set it up, with _one_ exception the
 backup
  routine. :)
 
  
   Now, if the cvs log command is only supposed to be used in checked out
   sandboxes, fine.
 
  This is a true statement.
 
   What can I do then to be able to parse repository
   files for tags?
 
  In a sandbox:
  cvs log file.py |grep -A25 symbolic names:
 
  everything between symbolic names: and keyword substitution: is a
  relationship between a tag and a file revision.
  Does this help?
 
  
   Thanks for your help,
   Bob
  
   PS cvs history on the same pathname works just fine.
  um, don't do that either. :)
  --
  Todd Denniston
  Crane Division, Naval Surface Warfare Center (NSWC Crane)
  Harnessing the Power of Technology for the Warfighter
 
  __
  This e-mail has been scanned by MCI Managed Email Content Service, using
 Skeptic(tm) technology powered by MessageLabs. For more information on
 MCI's Managed Email Content Service, visit http://www.mci.com.
  __
 

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: cvs log: incorrect usage?

2005-02-11 Thread Todd Denniston
Bob McCallister wrote:
 
 You misunderstood me.  The librarian is presented with a screen that lists
 all the projects.  He clicks on a project and is presented with a list of
 tags (in theory).  He then chooses which tag and *then* the project is
 checked out to its target directory.
 

I suppose there are processes in place to help him choose the correct tag
from the list.

 As for cvs rlog - I get a deprecated warning (use log) and I got an error
 that the directory was not found.  My $CVSROOT was set accordingly.

try `cvs --version` 
the rlog command is deprecated was fixed/changed between cvs-1.11 and 
cvs-1.11.1, it really is time for you to upgrade, there have been numerous
fixes including security since then.

 
  Bob McCallister wrote:
  
   But what if I want to know what tags are available for a given project?
 We
   have a librarian who checks out tagged versions of projects to their
   production location.  That librarian has no idea who is working on the
   project and therefore doesn't know where the working copies reside.  Are
   you saying the librarian should have to check out a copy just to get the
   tags?
 
  1) You already indicated the librarian HAS a checked out copy as part of
  thier job. :)
  the log command IIRC lists ALL revisions and tags, not just the one that
 was
  used to checkout a version.
 
  2) as larry mentioned rlog (on current versions) will work without a
 checked
  out copy.
 
  3) how is your libriarian to know what one they should be checking out
  anyway?
  Surely your process includes passing along the current production tag,
  correct?
 
SNIP
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Can I turn off merge conflict markers?

2005-02-10 Thread Todd Denniston
Mark E. Hamilton wrote:
 
 [EMAIL PROTECTED] wrote:
  Can I set a cvs update option so that it will only
  report merge conflict files and NOT modify them with
  conflict markers? It does not appear that cvs update
  has an option like this, but maybe there is some trick
  someone can clue me in on.
 
 Probably not, but the CVS gurus here would know.
 
  When you get a file where automatic merge fails
  CVS will report a merge conflict and then modify
  the offending file with conflict markers:
  
  
  
  ...which is fine most of the time, but now I have a situation
  where I'm working in a project with someone else's code
  and I'm getting a lot of these. The difference for these files
  are trivial. It's a lot of extra hassle to have to
  go delete all these conflict markers. It's sufficient for me to
  know there is a problem.  I want to update what I can, but
  I don't want cvs to touch the conflicted files.
  I just want it to report them.
 
 As I see it you've really only got three choices:
 
 1. cvs update -C foo.c
 
 This will replace the file with a fresh version from the repository,
 discarding all the changes made in the sandbox version of the file,
 including those that merged successfully (ie, didn't cause a conflict.)
 Sometimes this is the right thing to do; you'll have to decide.
 
 2. cp .#foo.c.x.y
 
 This will replace the updated version of the file with the version prior
 to the update, discarding all the changes made in the repository version
 of the file, including those that merged successfully (ie, didn't cause
 a conflict.) This is almost never the right thing to do.
 
 3. Deal with those pesky conflicts and edit them as necessary.
 
 This is the right thing to do. This is the only answer that will retain
 any changes that were successfully merged. The caveat of course is that
 you need to run your tests after the update, because even changes that
 successfully merged might still be logically incorrect with the changes
 made in the sandbox.
 
I believe Mark's responses are correct, but you might be able to use some
other commands to deal with it the way you want.

1. make separate lists of files with and without conflicts (look for C in
the output of update).
 cvs -n update 21 | \
 process_to_separate_filenames_with_conflicts 

2. just update those without conflicts.
   for i in `cat files_without_conflicts`; \
   do cvs update $i;done

3. do something special for the ones with conflicts.
   for i in `cat files_with_conflicts`; \
   do marks_method_1or2 $i;done

marks_method_3 is the only known correct method, but your situation might be
special.

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


[slightly OT] Re: best production practice?

2005-02-10 Thread Todd Denniston
bobby temper wrote:
 
 Hello,
 
 Thanks for the answers.
 
 I also agree with Jim, but it might be hard to convince content people that
 they have to go throught a staging first, for simple stuff. I will definitly
 do whatever i can, tho :).
 
 Todd, what you're saying refers actually to what i'm asking: the production
 code is a checked out copy? (with the cvs folders, etc...). We already have
 a tag/branch procedure. The problem is, as now, we have a cvs export copy
 on production (and no cvs client on production either...). I'm wondering if
 it would be better to install a cvs client, and have the code being a cvs
 checkout copy. That way, we could do like you're proposing, with cvs diff.
 I'm actually just wondering if doing it that way has some drawbacks, vs
 doing a cvs export/tar-gzip/scp procedure.

OUCH.
OK, I am sometimes considered an SOB by those that work with me when it
comes to releases, but it sounds like it is time for 
1) the production machine to have the number of user names reduced to
root+otherinstalleddefaultusers  projectadmin

or
2) the production area locked down so only root  project admin can make
modifications. 

If I was the person who had to answer what is in the production machine
today?, I would make three documents 
document 1) I, [my name], have permission to [insert lock down method] the
production [machine|area], and anyone who subverts that gets [insert
appropriate punishment]. This will be implementing an industry best practice
[site sources (besides/in addition to Jim  me)][1]
boss_signature_hereDate.

document 2) I, [my name], am not responsible for the content of the
production machine even though it has been suggested to customers we have
someone in that job. boss_signature_hereDate.

document 3) I, [my name], have informed [boss's name] that the production
[machine|area], is out of control, and anyone with [insert level of access]
can modify it at will and the changes will not be recorded in version
control, so we can not track who or when a change was made. I, [my name],
have informed [boss's name] of the following method for correcting the
situation and been denied. [insert method(s) here]
boss_signature_hereDate.

I would then take them to my boss, and indicate s/he should pick one and
sign it. BTW I am camping as physically close to my boss's person as is
possible during working hours until one is signed. :)

1 gets you the ability to fix the problem.
2 indicates it should not be your butt that is the one to kick if there is a
problem with what is on the production machine/area.
3 indicates the boss's butt is the one to kick _if/WHEN_ there is a problem
with what is on the production machine/area.
If the boss refuses to sign any of them... 
1) email the concerns and fixes to the boss, and print a copy.
2) keep a note book recording the documents, the email  when they were
presented.  
3) consider if it is worth going to the boss's boss with the notebook.

Sometimes you just have to drop back to these kind of strong arm tactics to
get what is needed, and keep your own head.
if the boss picks #1 (this is what you hope for), you can implement the
corrective change ... tell the complaining people the boss indicated it
should be done, and (to relieve some of the stress you just applied to
his/her arm) tell the boss to tell them we are implementing industry best
practices...(pause to see if they complain more, if so finish with) you will
work with it. If you do not feel it is best practice, document why, and site
your sources. before they show up in the bosses office.

 
 Regards,
 Bobby
 
SNIP

[1] you could start by searching the mailing list for other people dealing
with release management
http://www.cmcrossroads.com/bradapp/acme/
http://www.cmcrossroads.com/bradapp/acme/#BuildRepro
http://www.cmcrossroads.com/bradapp/acme/repro/SoftwareReconstruction.html
http://lists.gnu.org/pipermail/info-cvs
http://www.google.com/search?hl=enq=release+managmentbtnG=Google+Search
http://www.google.com/search?hl=enlr=q=%22release+managment%22+CVSbtnG=Search
http://www.google.com/search?hl=enlr=q=%22release+management%22btnG=Search
http://www.google.com/search?hl=enlr=q=%22release+management%22+CVSbtnG=Search
http://www.google.com/search?hl=enlr=q=%22release+management%22+%22best+practices%22btnG=Search
http://www.google.com/search?hl=enlr=q=%22release+management%22+%22best+practices%22+cvs+-pvcsbtnG=Search
http://www.w3.org/OOP/9606_Workshop/submissions/31-W3COMG.html
http://www.wipro.com/prodesign/focusareas/complatforms/complatpcasestudy8.htm
you get the picture right?
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: best production practice?

2005-02-09 Thread Todd Denniston
Jim.Hyslop wrote:
 
 bobby temper wrote:
  What i meant is that, we have the code running on a
  production machine. Now
  and then, that code gets changed, and sometimes, it's content
  gets out of
  sync with whats on production (ie. for example. someone edit
  directly on
  production, for a hotfix (i know this is bad, but fast for
  changing a simple
  text, link, etc...) and forget to do the changes in cvs.
 This practise *MUST* stop. Do whatever it takes to make it stop, otherwise
 one day you *will* get burned, and badly. Changing a simple text is no
 excuse.
 
 Problem solved.
I agree with Jim that you must stop the practice, as it *will* get burned,
however Jim he still needs a method to DETECT violation of the integrity of
the production set, for as long as he is still working with his bosses to
get the policy fixed. 

for detection, the following might do it.
if  you use tags to checkout for a release, 
try `cd head/of/project/; cvs diff -rTagShownInThisSet`, if you get
anything, a violation has occurred, attempt to find the violator and use a
LART as necessary.

without tags just using `cvs diff ` might get you started, if you get
anything, a violation has occurred, attempt to find the violator and use a
LART as necessary.
Also without tags, it is time to talk to the boss and get the procedure
changed at least to indicate releases shall be made only from tags.


All Production releases should be if possible made by using your build
system, or a release build system, to do a checkout, tag if the checkout was
not of a tag, build  package, in this way you can be sure to be able to
recreate releases.
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the WarfighterThe opinions expressed here are not sanctioned by and do not necessarily 
represent those of my employer.
___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: CVS install Help

2005-02-08 Thread Todd Denniston
Steve wrote:
 
 I installed CVS on box 192.168.1.5
 
 I wanted this to be my server.
 
 I then installed CVS on a separate PC 192.168.1.10
 
 How can I point to the X.X.X.5 machine?
 
 I setup the remote repository.  I specified a hostname etc.  I am not
 understanding what I need to do to the server side and client so I can check
 out files.
 btw: I used nt* as the network protocol on the .5 machine.
 
 What am I missing.  Obviously a lot.  Maybe a very simple test I can do for
 the server and then for the client to get me started.
 
 or is there a tutorial online?
 

For Normal CVS 
https://www.cvshome.org/docs/
https://www.cvshome.org/docs/manual/
https://www.cvshome.org/docs/manual/cvs-1.11.19/cvs_2.html#SEC26

 I am extremely brand new to this.  I need to get this working so people can
 begin checking out code and incorporate this with Eclipse.
 

Your starting to use Windows words I think, so you might be more interested
in CVSNT.
if you can run the cvs client on the command line try running 
cvs --version
if it reports CVSNT you are definitely more interested in their variant.
http://www.cvsnt.com/cvspro/
http://www.cvsnt.org/wiki/InstallationTips
http://www.cvsnt.org/manual/html/
specifically
http://www.cvsnt.org/manual/html/Remote-repositories.html

They have a mailing list described at:
http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt

 Please any help is extremely appreciated.  Even a book which I can buy is
 good.  I need a simple step by step guide to get the server and client
 working.
 
 Btw: Do I need to map drives?  I really don't want to do this.  I have
 programmers who cannot map a drive.
 

Correct, mapping drives (filesystem over network) is a BAD* idea under
either CVS.
*under all but most careful circumstances, and even there it worries people.
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: changing revision number

2005-02-08 Thread Todd Denniston
Sam Steingold wrote:
 
 I have a file foo at revision 1.1234.
 It was extensively modified and committed as 1.1235.
 I wish it were committed as 2.0 instead.
 What are my options?
 
 All I can think of at the moment is:
 
 1. cvs admin -o 1.1235 foo
 2. edit CVS/Entries
 3. cvs ci -r 2.0 foo
 
 is there a better way?
 
 in particular, DIUC that cvs ci -r 2.0 foo will _add_ a revision 2.0
 on top of 1.1235 (not replace 1.1235 with 2.0)?
 
 (I know about tags, and I do not wish to use them here.
 All I want is to change the revision number, that is all.
 I am not interested in branching c c)
 
 Thanks.
1. UM, if I read the help right that will DELETE the specified version.
2. Don't think that will work.
3. that might work.

Note that there are some assumptions that CVS makes about version numbers
and hand tweaking them as you are suggesting has implications later on.  the
usual suggestion is to remember revision numbers are something only cvs
should be looking at, if you want something for a human to look at apply a
tag.

see the following threads for some of the problems that can be caused by
forcing a version:
http://lists.gnu.org/archive/cgi-bin/namazu.cgi?query=revision+2.0submit=Search%21idxname=info-cvsmax=20result=normalsort=score

http://lists.gnu.org/archive/html/info-cvs/2002-06/msg00013.html

http://lists.gnu.org/archive/html/info-cvs/2004-12/msg00162.html

http://lists.gnu.org/archive/html/info-cvs/2003-05/msg00065.html


-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: user permissions of files and directories

2005-02-07 Thread Todd Denniston
Matthias Friebe wrote:
 
 Hey folks,
 
 I was unsuccessfully checking several CVS documentation for user
 permissions in CVS.
 
 What we want to do is give explicit read permissions to users for
 files/directories. By default a user should have no read or write access
 to files/directories unless we specify that they do. I don't know if
 this is possible with using the ssh option because I think they assume
 that the user with ssh access can already access the files on the
 machine depending on the local file permissions. Is there another way to
 do this without manually changing all the local file permissions for
 each files/directories, because that is tedious, not flexible and it is
 not working properly. The reason is that when someone is committing
 files, he is changing the user and group permissions of the files in the
 repository!
 
 Any help is highly appreciated.
 
 -Matt
If you want to give someone read access, but not write access, remove their
ability to write to the $CVSROOT directories and give them the capability to
write in the LockDir defined in CVSROOT/config .
https://www.cvshome.org/docs/manual/cvs-1.11.18/cvs_2.html#SEC13
https://www.cvshome.org/docs/manual/cvs-1.11.18/cvs_2.html#SEC17
https://www.cvshome.org/docs/manual/cvs-1.11.18/cvs_18.html#SEC182

If you do not want them to even have read access, then they must not have
read or write access to the _DIRECTORY_.  
that is, as you indicated above if they can get to it with their ssh access
then they can get to it with CVS. (there are a couple of things that make it
so CVS has might have less access than their ssh, but if you look at it from
the ssh perspective you will only wonder why they don't have access instead
of answering why DID they have access).
Let me repeat, to be clear, CVS uses the permissions on the _DIRECTORY_ to
control access for reading, it also uses the DIRECTORY permissions for
writing but those permissions may be tailored down a little more using the
cvs_acls script (look in the contrib directory).  LockDir can be used to
open up read permissions some.
https://www.cvshome.org/docs/manual/cvs-1.11.18/cvs_2.html#SEC17
https://www.cvshome.org/docs/manual/cvs-1.11.18/cvs_18.html#SEC182

Note the cvs-1.11.19 manual is out, but I had these links handy from last
week.
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: user privileges for files / dirs / modules

2005-02-03 Thread Todd Denniston
Larry Jones wrote:
 
 [EMAIL PROTECTED] writes:
 
  I'm not trying to do anything special. Just for some reason, if I
  co/ci a file in my .../CVSROOT dir, other files perms get reset,
  e.g., logtags and taglogs.
 
 That's because whenever you check in something in $CVSROOT/CVSROOT,
 *all* of the administrative files get re-checked out (that's what the
 Rebuilding administrative file database message that you get during
 check in means).  Why are you changing the permissions on your
 administrative files?  I repeat -- what is it that you're trying to do?
 

What it appeared to me he wanted, was that his taglogs script would be
executable for use in something like taginfo... but that every time he
checked a file into $CVSROOT/CVSROOT the permissions on
$CVSROOT/CVSROOT/taglogs went back to -r--r--r--.

Christopher, 
may I suggest that it might be informative for you to do the following on
the server machine.

after a commit of a file to $CVSROOT/CVSROOT do:

ls -l $CVSROOT/CVSROOT/taglogs*

I think the output would be something along the lines of:
-r--r--r--1 chris cg 1234 date
/cm/SLQ32/ICAD/Repository/CVSROOT/taglogs
-r--r--r--1 chris cg 1290 date
/cm/SLQ32/ICAD/Repository/CVSROOT/taglogs,v

but what you want is:
-r-xr-xr-x1 chris cg 1234 date
/cm/SLQ32/ICAD/Repository/CVSROOT/taglogs
-r-xr-xr-x1 chris cg 1290 date
/cm/SLQ32/ICAD/Repository/CVSROOT/taglogs,v

As I mentioned yesterday, CVS will keep the execute bits set on checkouts
IFF they are set on the ,v file.

Also IFF the execute bits are set on the file in the sandbox, when the
following is done
`cvs add executablefile; \
cvs commit -m add an executable executablefile`
i.e., when the file is first added to the repo, then CVS will set the
execute bits on the ,v file.
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: user privileges for files / dirs / modules

2005-02-02 Thread Todd Denniston
[EMAIL PROTECTED] wrote:
 
 -Original Message-
 From: Larry Jones [mailto:[EMAIL PROTECTED]
 [EMAIL PROTECTED] writes:
 
  Yes I started the discussion back then too, and did not get (or I
  couldn't filter out) a straight answer. So once checked-in with the
  wrong perms, how does one correct it?
 
 By changing the permissions on the RCS file in the repository.
  The permissions on the working file are the same as the
 permissions on the RCS file except that the read permissions
 are copied to the write permissions and the user's umask is applied.
 
 
 Thanks, but I believe I've done this, that is, changing the RCS
 file perms to no avail. Now I remember asking where in the RCS
 file, and getting not in the RCS file, but of the RCS file.

The RCS portion of CVS will carry the execute bit if set when the file is
add+commited, to change that use 'chmod oug-x $CVSROOT/$relitivepath/file,v'
(with the chmod on a linux system anyway).

if you are using one of the 'cvs watch` commands and you do a checkout the
file in your sandbox may be read only.
https://www.cvshome.org/docs/manual/cvs-1.11.18/cvs_10.html#SEC88


for your taglogs file I think what you want is 
chmod oug+x $CVSROOT/CVSROOT/taglogs,v
then commit something to the $CVSROOT/CVSROOT directory to make sure it is
set correctly.


 This is different than what matthias was asking when the thread was started
(if I understood correctly).  matthias's question is usually answered by
indicating, set the permissions of your DIRECTORIES to limit write access
and in some cases read access to the repository directories.  If you can
not read a repository directory, you can not read the file in it IIRC.
If you can not write to a repository directory, you can not change a file in
it.
with CVS, If you can not write to a repository directory AND LockDir is not
set to somewhere that you can write to, you can not do a checkout IIRC.
https://www.cvshome.org/docs/manual/cvs-1.11.18/cvs_2.html#SEC13
https://www.cvshome.org/docs/manual/cvs-1.11.18/cvs_2.html#SEC17
If you want to give someone read access, but not write access, remove their
ability to write to the $CVSROOT directories and use LockDir in
CVSROOT/config .
https://www.cvshome.org/docs/manual/cvs-1.11.18/cvs_18.html#SEC182

Does this help the understanding?
-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: Sharing Common Files

2005-01-31 Thread Todd Denniston
Matt Doar wrote:
 
 Perhaps this is belabouring the obvious, but soft links within
 repositories are not versioned, so when you want to change where the
 link points to in a few months from now, you won't be able to build the
 older versions of your product.
 
I meant to indicate that these were in the SANDBOX but missed doing it
before hitting send.
Jim is correct though, if someone does a 
'cvs add SANDBOX/proj_2_tree/dir1/file1; cvs commit`
cvs will blithely add and commit the contents to a new place in the
repository and ignore the original in SANDBOX/proj_2_tree/proj_1_tree/ IIRC.
If I HAD to do what this guy was asking I would probably put a target in my
Makefile to make sure it was always a softlink... we are talking procedures,
knowledge and the ability of your workers to follow the procedures using the
knowledge.
The better route would be to make proj_1_tree a sub module of proj_2_tree
and have your build system use the file relative to the build position,
i.e.,  in SANDBOX/proj_2_tree/dir1/needsfile1.c
put the following line
#include ../proj_1_tree/file1.h 
and put the appropriate things in your link line. plus have the build
program in SANDBOX/proj_2_tree/ build all the things needed in the
proj_1_tree/

 So regardless of whether you are linking to files or directories, server
 side soft links are not a good idea. A client side script to recreate
 them can be versioned.

client side is what I had meant.  but it is still not the best way.

 Modules are not versioned either, though I think
 there was a patch to do this a few months ago, but you can define new
 modules and still preserve the older ones.
 
 ~Matt
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED]
  On Behalf Of Jim.Hyslop
  Sent: Monday, January 31, 2005 8:25 AM
  To: 'Todd Denniston'; Dean Do
  Cc: info-cvs@gnu.org
  Subject: RE: Sharing Common Files
 
  Todd Denniston wrote:
   assuming unix,
   in proj_2_tree
   |
   |- dir1
   |- file1 softlink to ../proj_1_tree/file1
   |- dir2
   |- file2 softlink to ../proj_1_tree/file2
   |- file3 softlink to ../proj_1_tree/file3
   |- proj_1_tree
  |
  |- file1
  |- file2
  |- file3
  Is soft link the same as a symlink? If they are
  different, then the rest
  of this message _might_ not apply.
 
  If they are the same, then this is a Really Bad Idea. The
  problem is, CVS
  sees dir1/file1 and proj_1_tree/file1 as completely separate,
  independent
  files. If user A is checking into dir1, then CVS will not
  lock proj_1_tree.
  This means that user B can simultaneously check in changes
  into proj_1_tree
  - leading to... shall we say, all kinds of fun.
 
  Bottom line: symlinks, if used at all, should _only_ be used for
  directories, not for files.
 

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: segmenting a CVS repository

2005-01-28 Thread Todd Denniston
 Tate Austin wrote:
 
 I'm used to using CVS thrugh GUI's (eclipse, etc) and I'm now in an
 environment where we are command line bound and I have a sizeable project
 in a CVS repository.  When I make one change to one file, it is simply too
 time consuming to do cvsupdate from the CLI to just get a few files. 

did you mean
'When I want to make a change to one file, it is simply too time consuming
to do cvs checkout of the whole repository to just get that file.'?

Some people would indicate that you really only need to do the full checkout
once and then update before starting new work so you only incur the big wait
once (Disk space is cheap today, for most coding projects).
But you can if you want check a single file out of cvs, like so:
cvs checkout module/subpath/filename
if you only want one sudirectory and none of it's sub-directories try:
cvs checkout -l module/subpath/

For more info please look at the Manual, and try 'cvs checkout --help'

 Is
 there an alternative to breaking the project up into seperate modules,
 like a more appropriate command for the situation? 
 
See above

 Or have I just named
 the reason for modules?:-)
 
Possibly, if it makes sense for everyone on the project to only be wanting
specific sub trees (you can also use modules to group sub trees). if it is
just you, then the above methods are probably preferable.

-- 
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane) 
Harnessing the Power of Technology for the Warfighter


___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


  1   2   3   >