RE: A way to see who has checked out a module?

2004-01-13 Thread Chris Cameron
Am I correct in assuming that you are looking for a web based equivilent to
the 'cvs editors' command?  I don't know if there is such a tool, but I'm
sure someone will be able to tell you if we can agree on the 'command line'
option you originally referred to.

Chris

> -Original Message-
> From: Steve deRosier [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, 14 January 2004 10:25
> To: Phil Labonte
> Cc: CVS List
> Subject: Re: A way to see who has checked out a module?
> 
> 
> Sorry, it looks like I misread your question.  No I don't know of any 
> tool to do this.  Actually, I'm not sure it is even possible on the 
> command line..."who has what checked out" isn't a relevant 
> question in 
> CVS.  Using the various hooks for script running on cvs commands, you 
> might be able to put together your own tool (if there is any 
> hook run on 
> a checkout even); a script that writes the user to a file on 
> checkouts 
> and removes the name from from the file on releases and then 
> a web page 
> that includes this info might be a way to do it.
> 
> But, again I don't see how it would be useful.  When I work 
> on projects, 
> I check out the module and check in any changes I make.  When 
> I'm done I 
> usually just leave the module in my sandbox directory 
> ignoring it untill 
> I need to do something with it again, at which point I just 
> issue a 'cvs 
> up' command to get current.  Right now I've got probably 15 modules 
> checked out, but have only touched about 6 of them in the 
> last 6 months 
> (and am currently only actively working with 2 of them).
> 
> - Steve
> 
> Phil Labonte wrote:
> > I use ViewCVS as well but there is no option to see a log 
> of checked out 
> > files is there? If there is can you let me know where?
> > 
> > Steve deRosier wrote:
> > 
> >> viewcvs -
> >> http://viewcvs.sourceforge.net/index.html
> >>
> >> It's what we use and we love it.
> >>
> >> - Steve
> >>
> >>
> >> Phil Labonte wrote:
> >>
> >>> Is there a web add-on that we can use to see who has 
> checked out a 
> >>> given module?
> >>>
> >>> I know you can use the command line but I have some users 
> that would 
> >>> like to see who has checked out a given module, and I do 
> not want to 
> >>> give them shell access to the box.
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> ___
> >>> Info-cvs mailing list
> >>> [EMAIL PROTECTED]
> >>> http://mail.gnu.org/mailman/listinfo/info-cvs
> >>>
> >>
> >>
> >>
> > 
> > 
> 
> 
> 
> ___
> Info-cvs mailing list
> [EMAIL PROTECTED]
> http://mail.gnu.org/mailman/listinfo/info-cvs
> 


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


RE: cvs and gnats link?

2001-09-17 Thread Chris Cameron

The linkage we have in place between CVS and gnats is the following:
a. in parts of our repository you have to enter a gnats PR and database into
the log message
b. if a gnats PR and database are in the cvs log message, the PR must be in
a defined state for the commit to succeed
c. the cvs log message is automatically added to the top of the fix: field
in the gnats PR

That is all we have.

***
Chris Cameron   Open Telecommunications Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
> Schwenk, Jeanie
> Sent: Tuesday, 18 September 2001 1:12 p.m.
> To: CVSpost (E-mail)
> Cc: '[EMAIL PROTECTED]'
> Subject: cvs and gnats link?
>
>
> We had a bug that toasted some product (see many $$ here).  Now management
> wants a "formal" system of notification, complete with reports and and
> appropriate sign off when changes take place.  With absolutely
> nothing for a
> budget of course.  This sweeping bureacracy change is to include a bug
> tracking system.   I've been looking at GNATS and would like to
> know if CVS
> and GNATS can be linked.  From a developer standpoint, it would be most
> convenient and less error prone to type the same information once rather
> than twice.  I ran across a statement that ClearCase and GNATS could be
> linked but didn't find any evidence to support it.   I'm also looking at
> Bugzilla and Jitterbug.  What do you use?  Any recommendations?
>
> Jeanie
>
> ___
> Info-cvs mailing list
> [EMAIL PROTECTED]
> http://mail.gnu.org/mailman/listinfo/info-cvs
>


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



RE: How well does CVS handle other types of data?

2001-07-12 Thread Chris Cameron

I will now try not to raise to the bait when Greg starts forth.  I was
raising some hypothetical situations and discussions, not describing our
reuirements.  Greg has now told me not to use CVS.  We can make our own
decisions thank you and it sounds like one day it wih be Gregs CVS and
everyone else's CVS.  Greg, you seem to have moved from following the full
debate to attacking everyone who participates and has a different point of
view.  You seem to assume that any hypothetical example people give is their
actual position and then attack it!

According to the original author of CVS, merging was ONE OF SIX advantages
of CVS, not THE advantage!

In summary Greg is saying that if you don't want 'automagic' merging don't
use CVS.  Greg says that the -kb code has flaws, but rather than fix them,
get rid of it completely, even though it is part of the RCS framework that
CVS is built on top of!

>From man co:
 -kb  Generate a binary image  of  the  old  keyword  string.
  This acts like -ko, except it performs all working file
  input and output in binary  mode.   This  makes  little
  difference  on  Posix  and  Unix hosts, but on DOS-like
  hosts one should use rcs -i -kb to  initialize  an  RCS
  file  intended  to  be used for binary files.  Also, on
  all hosts, rcsmerge(1) normally refuses to merge  files
  when -kb is in effect.

That's all from me.  Good evening from your future, it will be a beautiful
day on Friday (well it was here):)!

***********
Chris Cameron   Open Telecommunications Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)

> -Original Message-
> From: Greg A. Woods [mailto:[EMAIL PROTECTED]]
> Sent: Friday, 13 July 2001 4:51 p.m.
> To: Chris Cameron
> Cc: CVS-II Discussion Mailing List
> Subject: RE: How well does CVS handle other types of data?
>
>
> [ On Friday, July 13, 2001 at 13:50:34 (+1200), Chris Cameron wrote: ]
> > Subject: RE: How well does CVS handle other types of data?
> >
> > We need:
> > 1. Ability to recreate a particular contour of file versions
> > 2. Ability to work across multiple directories
>
> Good.  If that's all of your requirements then please go find something
> else to use other than CVS.  I'm sure there are many other tools that
> fill those requirements.  I've written some shell scripts for SCCS that
> might even fill the bill for you.  You can find them on my FTP site in
> dotfiles.tar.* (in the enclosed file .kshsccs).  I've even been planning
> on fleshing them out to include more CVS-like features and will be happy
> to do so under your explicit directions, for a small fee of course.
>
> CVS does more than you need and some of what it does can be orthogonal
> to your needs and may therefore cause you problems if you try to use it
> for only those two purposes and without taking into account its
> "limitations".
>
> > Greg suggests that people write their own tool to do this, however CVS
> > (which is written on top of RCS, so how can it be good for
> binaries on it's
> > own, but not underneath CVS) can already do this.
>
> If this isn't clear by now then you have a fundamentally flawed
> understanding of how CVS works and what features it provides (and which
> it _explicitly_ does not provide, not to mention those it _implicitly_
> does not provide).
>
> > CVS also allows you to merge text files.  For some binary files
> a merge can
> > be managed (e.g. word or framemaker documents), for others
> (e.g. gifs) it
> > does not make any sense.  Is merging of text files important?  In Greg's
> > world it is, in other peoples eyes it isn't.
>
> Anyone and everyone who uses CVS as it is intended to be used must
> believe that merging of text files is critically imporant to their use
> of CVS!  You don't even have to know what a branch is to still need
> merging to work if you use CVS.
>
> You're trying so hard now that you've not only bent the truth beyond
> recognition, you're now torturing it to death!
>
> > Now whenever I've been involved in product decisions, we've listed our
> > requirements, prioritised them and then listed our requirements
> that each
> > product supports.  Usually no product meets all our
> requirements so it is a
> > matter of determin

RE: How well does CVS handle other types of data?

2001-07-12 Thread Chris Cameron

Ah,

So now you're suggesting RCS for 'binary' files and CVS for ASCII text
files.  Now a person who needs to manage 'binary' and 'text' files needs to
develop a tool for managing versions of both (and the 'binary' files may be
in multiple directories so we'd better add in a tool that works across
different directories).  Suddenly we're starting to need a tool like CVS!
Wait and look at this, then comment.
We need:
1. Ability to recreate a particular contour of file versions
2. Ability to work across multiple directories

Greg suggests that people write their own tool to do this, however CVS
(which is written on top of RCS, so how can it be good for binaries on it's
own, but not underneath CVS) can already do this.

CVS also allows you to merge text files.  For some binary files a merge can
be managed (e.g. word or framemaker documents), for others (e.g. gifs) it
does not make any sense.  Is merging of text files important?  In Greg's
world it is, in other peoples eyes it isn't.

The CVS paper (cvs_paper.ms in the CVS source distribution) says:
CVS (Concurrent Versions System) is a front end to the RCS
revision control system which extends the notion of revision control
from a collection of files in a single directory to a hierarchical
collection of directories each containing revision controlled files.
Directories and files in the CVS system can be combined together in
many ways to form a software release.  CVS provides the functions
necessary to manage these software releases and to control the
concurrent editing of source files among multiple software
developers.

The six major features of \fBcvs\fP are listed below, and will be
described in more detail in the following sections:

1.
Concurrent access and conflict-resolution algorithms to guarantee that
source changes are not lost.
2.
Support for tracking third-party vendor source distributions while
maintaining the local modifications made to those sources.
3.
A flexible module database that provides a symbolic mapping of names to
components of a larger software distribution.
This symbolic mapping provides for location independence within the software
release and, for example, allows one to check out a copy of the diff
program without ever knowing that the sources to diff actually reside
in the bin/diff directory.
4.
Configurable logging support allows all committed source file changes
to be logged using an arbitrary program to save the log messages in a file,
notesfile, or news database.
5.
A software release can be symbolically tagged and checked out at any time
based on that tag.
An exact copy of a previous software release can be checked out at
any time, REGARDLESS of whether files or directories have been
added/removed from the current software release.
As well, a date can be used to check out the EXACT version of the software
release as of the specified date.
6.
A patch format file [Wall] can be produced between two software
releases, even if the releases span multiple directories.

According to this ONE of the benefits of CVS is the 'concurrent editing of
source files' and ANOTHER is patching that is 1/3 of the major features of
CVS.

Now whenever I've been involved in product decisions, we've listed our
requirements, prioritised them and then listed our requirements that each
product supports.  Usually no product meets all our requirements so it is a
matter of determining which product best meets our top requirements.  As
merging probably doesn't fit in anyones requirement list for graphical
files, merging and patches are 'extras' from CVS, not a 'wrong tool'
decision.

Yes Greg, you've been involved with CVS for a lot longer than most of us.
But your vision isn't the only one for the software and maybe it isn't the
only one!  This thread seems to have drifted alot and people are now being
criticised for offering solutions to the original problem as if they are the
ones who asked the problem!

***
Chris Cameron   Open Telecommunications Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
> Greg A. Woods
> Sent: Friday, 13 July 2001 12:09 p.m.
> To: Thornley, David
> Cc: [EMAIL PROTECTED]
> Subject: RE: How well does CVS handle other types of data?
>
>
> [ On Thursday, July 12, 2001 at 16:53:53 (-0500), Thornley, David wrote: ]
> > Subject: RE: How well does CVS handle other types of dat

RE: How well does CVS handle other types of data?

2001-07-12 Thread Chris Cameron

But Greg, you say CVS is a source code management tool (really an ASCII text
file management tool, given all the caveats you add) and the manual excerpt
you quote says CVS is 'a version control system'.  A version control system
DOES NOT IMPLY source code management.  A version control tool allows you to
control and recreate versions.  Merging is an added feature.  For us, the
biggest plus for CVS is that it will manage multiple files and directories
(even if it doesn't version directories, we can manage that).  We started
using CVS after investing a lot of effort to reinvent it in a minimal form
on top of RCS!

You've already told people to use CVS (a version control system) for
managing their source and then find ANOTHER version control system (or make
their own) for managing binary (or non ASCII text) files.  THey are saying
that they already have a version control system in CVS and why should they
need to operate two version control systems.

You keep saying to find the screwdriver instead of using the hammer, but
a. is it really a hammer for a screw?  It is still being used for version
control.  The users have decided the 'merge' features are not important, it
is the version control they want.
b. where do they find out about screwdrivers?  Are there any screwdrivers or
only your hammer plus string and glue solution?

Now you'll probably tell me to go and find a screwdriver as well!  I
generally find your posts interesting and informative, but on occasions you
seem to be opposed to what everyone else on the list wants and your opinion
is inviolate.

*******
Chris Cameron   Open Telecommunications Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
> Greg A. Woods
> Sent: Friday, 13 July 2001 8:38 a.m.
> To: Peter Fox
> Cc: CVS-II Discussion Mailing List
> Subject: RE: How well does CVS handle other types of data?
>
>
> [ On Thursday, July 12, 2001 at 11:38:21 (-0400), Peter Fox wrote: ]
> > Subject: RE: How well does CVS handle other types of data?
> >
> > Sorry my "graphic people" are the same people who are writing
> Delphi code.
>
> So, have someone put on a virtual "graphics people" hat!  What's the
> problem here?  That should make things easier, not harder!
>
> > IMHO the people who say "get your binaries out of my merging system" are
> > looking very much as CVS as a tool to control parallel
> development of source
> > code. CVS becomes a technique for applying patches to a
> development thread.
>
> Yes, that's exactly what a source code management tool is.  CVS is a
> source code management tool that assists users in merging concurrent
> changes to files, be they concurrent edits on the same branch, or
> not-necessarily-temporally-related changes on separate branches.
>
> A "commit" is literally the addition of a "delta" to a branch!  All CVS
> does is keep track of branches and revision relationships in groups of
> source files.  That's it.  That's all.  That's enough.
>
> > IMHO the people who are saying "I need to put binaries in CVS"
> are looking
> > at using CVS for managing a project. i.e. they want to be able to have a
> > single repository that they have confidence stores all the
> items needed to
> > produce a release.
>
> I hate to say this again, but RTFM:
>
> What is CVS?
> 
>
>CVS is a version control system.  Using it, you can record the
> history of your source files. [[]]
>
> What is CVS not?
> 
>
>CVS can do a lot of things for you, but it does not try to be
> everything for everyone.
>
> CVS is not a build system.
>
> CVS is not a substitute for management.
>
> CVS is not a substitute for developer communication.
>
> CVS does not have change control
>
> CVS is not an automated testing program
>
> CVS does not have a builtin process model
>
> > CVS becomes not just a developers tool but also an
> > essential part of the release mechanism. It allows the developers, build
> > people, system testers and customers to agree what they are looking at.
>
> Yes of course.  CVS keeps track of branches and revision relationships

RE: How well does CVS handle other types of data?

2001-07-11 Thread Chris Cameron

How do you KNOW you're pulling in the correct resource for the particular
icon etc.  Does each change in an icon result in a new resource file?  How
do you ensure that you can always exactly recreate a previous release or
does 'exactly recreate' only apply to your source code?

*******
Chris Cameron   Open Telecommunications Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
> Jeff King
> Sent: Thursday, 12 July 2001 8:51 a.m.
> To: Peter Fox
> Cc: [EMAIL PROTECTED]
> Subject: RE: How well does CVS handle other types of data?
>
> We keep resource files (for icons, toolbar bitmaps, and other images)
> outside of the repository. Instead of having to store the binary
> data in the
> otherwise text-based forms, we simply use Bitmap.LoadFromResource in the
> source to pull the images from the separately maintained resource files.
>


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



RE: Sticky tags

2001-07-11 Thread Chris Cameron



***
Chris Cameron   Open Telecommunications Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
> Eric Siegerman
> Sent: Thursday, 12 July 2001 7:22 a.m.
> To: [EMAIL PROTECTED]
> Subject: Re: Sticky tags
>
>
> --- irina sturm <[EMAIL PROTECTED]> wrote:
> > I don't understand: if I am doing what you say,
> > I am not preserving myself of integrating the
> > other users' modifications before finishing
> > with my own, but just doing the same as for file_1.
>
> To do this (i.e. make and commit changes without (yet)
> integrating other peoples' changes), you'd need to create a
> branch.
>
> > In which case also I can't understand what the
> > sticky [non-branch] tag is useful for.
>
> Not that much, really, IMO.  I suspect that they weren't really
> designed into CVS, but came about as a side-effect of
> sticky-branch-tag support -- the code just lets you make *any*
> tag sticky.
>

We use non branch sticky tags for preserving 'contours' through our code
(e.g. release 1.0, integration build 2, etc.).  This is very usefull for
determining changes from one 'release' to another and also for ensuring that
we can always deliver the same 'release'.


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



RE: Strange dir behavior and Emptydir

2001-06-28 Thread Chris Cameron

Emptydir is a placeholder used in CVS for when directories which may not
exist in the repository are created as part of the checkout process (if you
follow what I mean), such as a -d in the modules file or -d on the command
line.  CVS needs a Repository file and places Emptydir in there.  You are
not meant to be able to add any files to a directory created as a result of
this Emptydir behaviour.  HOWEVER, there was a bug in the code.  I submitted
a patch for this which I believe has now been added to 1.11 (Larry can
clarify this).  Basically the code prevented you from adding files to a
directory with an EmptyDir repository.  BUT there was no code to stop a
directory being added and once the directory was added, you could add files.
Either upgrade your CVS version, or apply my patch, which should be in the
archives somewhere.

Once you've managed to create files (and by necessity directories) in
EmptyDir in the repository, you're in the place of nightmares!  Behaviour
changes depending on what you actually do!  The person who did the adds,
will be able to use CVS etc. to control the files, but anyone else will not
be able to see them!  If you then manipulate the repository to put things
where they belong, the original culprit will get different behaviour to
everyone else until they do a clean checkout.

Before I made the patch, I had a commitinfo script which sent me a high
priority e-mail anytime anyone committed to EmptyDir!  Then I could sort
things out before it got too serious!

*******
Chris Cameron   Open Telecommunications Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
> Pyatt, Scott
> Sent: Friday, 29 June 2001 7:57 a.m.
> To: Info-Cvs (E-mail)
> Cc: Gupta, Neil
> Subject: Strange dir behavior and Emptydir
>
>
> When doing a checkout from the trunk, CVS creates directories in the
> workspace even if they are empty.  You can prevent empty directories from
> being created by using "-P" to prune empty directories or if "-r" or "-D"
> are specified.  Therefore, if you are checking out a branch using "-r
> branch", empty directories are pruned.  In the past when I've wanted to do
> perform some work to one of these empty directories, I simply do something
> like this:
>
> cvs co -r theBranch theModule
> cd parentDir
> cvs up -d theDir
>
> I've never had a problem with this until today.  Today I do this and the
> "cvs up -d theDir" gives me the following message:
>
> cvs server: nothing known about theDir
>
> Obviously "theDir" is not the real name of the directory, but will suffice
> to illustrate my problem.  The interesting thing is that "theDir"
> does exist
> in the repository (I checked to make sure) and there is active
> work in this
> directory on several other branches as well as on the trunk.  I tried the
> following:
>
> cd parentDir
> mkdir theDir
> cvs add theDir
>
> For this example assume "parentDir" is "/dirA/dirB/dirC".  The command
> produced the following output.
>
> Directory /cvsroot/CVSROOT/Emptydir/theDir added to the repository
>
> Why did CVS create "theDir" under "/cvsroot/CVSROOT/Emptydir" instead of
> under "/cvsroot/dirA/dirB/dirC" which is where I was expecting it to get
> created in the repository.  I've searched CVS documentation everywhere and
> can find no reference to "Emptydir".
>
> What is this "$CVSROOT/Emptydir"?  Is it possible that it is related to
> using an alias module defined in the "$CVSROOT/modules"?  How do
> I get back
> to the behavior I thought I knew before?
>
> TIA,
> -Scott
>
> 
>
> Scott Pyatt
> Release Engineering Manager
>
> Selectica, Inc.
> 3 West Plumeria Drive
> San Jose CA 95134.2111
> www.selectica.com
>
> Direct:   408.545.2669
> Main: 408.570.9700
> Fax:  408.570.2167
>
> See our Internet Selling Systems in action:
> http://www.selectica.com/iss_in_action/
>
>
> ___
> Info-cvs mailing list
> [EMAIL PROTECTED]
> http://mail.gnu.org/mailman/listinfo/info-cvs
>


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



RE: How to avoid conflicts avalanche

2001-06-25 Thread Chris Cameron

Is this a symptom of your software not being adequately separated into
'core' and 'localised' sections?  We try and separate out the common 'core'
functionality which must not change from the 'localised' functionality which
is needed for each customer.  If there are a lot of merges and conflicts, it
suggests to me that the different country releases aren't really 'standard'
software.

*******
Chris Cameron   Open Telecommunications Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
> Sergiy
> Sent: Tuesday, 26 June 2001 3:45 p.m.
> To: [EMAIL PROTECTED]
> Subject: How to avoid conflicts avalanche
>
>
> Hi,
>
> Our software has different modifications for different countries. Thus
> in our cvs repository we have the main development trunk, and country
> branches. When we cut a new major release on the trunk, we need to merge
> from the trunk to all country branches. These merges result in a large
> number of conflicts. It requires time and significant programming
> efforts to resolve those conflicts.
>
> One way to avoid this is to do interim merges regularly. The other way
> could be to pursue developers to use some script which automatically
> does the merge to country branches every time they commit to the trunk.
> But they often forget to follow such procedures, and apparently CVS
> doesn't have any way of enforcing this automatically.
>
> The question is, if anybody experienced similar problems and has them
> successfully resolved, what is the most effective solution to this
> problem, and whether CVS provides any means to support that?
>
> Thanks,Serg
>
>
> ___
> Info-cvs mailing list
> [EMAIL PROTECTED]
> http://mail.gnu.org/mailman/listinfo/info-cvs
>


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



RE: BRANCH LABEL FOR DIRECTORIES

2001-06-18 Thread Chris Cameron

So now you're saying that it could be included OOTB AND that you've proposed
it in the past.  But you've been arguing that this is a BAD IDEA (TM) and
seem to continue that position later in the same e-mail!

I'm just sitting on the sideline and observing this one, but you seem to be
trying to have your cake and eat it!

*******
Chris Cameron   Open Telecommunications Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)


> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
> Greg A. Woods
> Sent: Tuesday, 19 June 2001 9:04 a.m.
> To: CVS-II Discussion Mailing List
> Subject: Re: BRANCH LABEL FOR DIRECTORIES
>
>
> [ On Monday, June 18, 2001 at 15:18:16 (-0400), Noel L Yap wrote: ]
> > Subject: Re: BRANCH LABEL FOR DIRECTORIES
> >
> > So why not have CVS do this work OOTB?
>
> You could.  It's been proposed several times before.  Nobody's stepped
> up to write the code.  Even though I've also proposed it in the past, my
> proposal was in response to someone else's problem and of late I've not
> even had time to implement the solutions to my own problems, let alone
> anyone else's!  ;-)
>
> It should be quite trivial to add such rename functionality to any of
> the more advanced font-ends to CVS (be they either stand alone clients,
> or wrappers that just call the existing command-line client).  Even the
> handling of the manual parts of merging renamed/moved files could be
> done in the client and/or front-end.  There's not even any need to do
> anything fancy -- just search back for magic rename comments in files
> that had no changes merged and if they are the result of a rename then
> go look (recursively) for the ancestor revision in the old file(s) and
> "manually" do the merge on the client side.  Nothing at all needs to be
> changed in the repository structure to support such functionality.
>
> If people really want it then _they_ should build it!  CVS is user
> supported software!
>
> > How 'bout:  Your company decides to change its name or goes
> through a merger and
> > you're programming in Java?
>
> I'd say that people using CVS for Java (at least with traditional java
> development environments) are already on the verge of being in the land
> of the truly unsupported anyway.
>
> > In any case, /why/ would it matter why anyone would do this?
> The fact is that
> > it's a request commonly made.  Your answer seems to be to deem
> that request as
> > being "wrong".
>
> People make stupid and idiotic requests of all kinds of things all the
> time.  Only marketing departments ever seem to see any need to satisfy
> them.  There's nothing "wrong" with telling someone that their request
> is "wrong"/inappropriate/out-of-place if that's the case.
>
> I thought most of us in the software world were supposed to be more in
> tune with doing careful requirements analysis and such.
>
> > In the end, every product is market-driven -- if there's no
> need for CVS, it
> > wouldn't exist.
>
> Sorry, I should have qualified that as "mass-market" (though I did
> qualify CVS as "niche market").
>
> > I think Greg has been saying that CVS is a niche product and
> that it shouldn't
> > braoden it's horizons.  So, if:
> > 1. You have binary files,
> > 2. You _ever_ need to rename files for the lifetime of your project,
> > 3. You want to version directories,
> > 4. You want to reuse a filename that's been rm'd in the past but with a
> > different type,
> > 5. Possibly others I can't think of right now,
> >
> > then don't use CVS.
>
> Well, not exactly 100% on all those points, but within reason.
>
> In this forum 99.999% of the FAQs that have no existing answer in
> context are from people who should not be using CVS in the first place
> (or who can't find anything better and are then uwilling to figure out
> how to use CVS properly).
>
> In fact there's obviously a very strong demand for something to fill the
> niche that CVS fits well into  The only problem is that at least
> half the people in the world who are not in that niche seem to think
> that they sho

RE: Removal of tagged files

2001-06-11 Thread Chris Cameron

It is scenario 1 and we're on 1.10.7.  I'll look at getting appropriate
updates.  Thanks for the info.

*******
Chris Cameron   Open Telecommunications Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)


> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
> Eric Siegerman
> Sent: Tuesday, 12 June 2001 6:44 a.m.
> To: Infocvs
> Subject: Re: Removal of tagged files
>
>
> On Mon, Jun 11, 2001 at 11:46:29AM +1200, Chris Cameron wrote:
> > We've had the experience of cvs allowing files to be removed from a
> > non-branch tag!
>
> Do you mean by this:
>   1. cvs update -r release-tag file; cvs rm file
>   2. cvs tag -d release-tag file
>   3. something else?
>
> If (1), update your CVS.  It prevents this at least from 1.10.8.
> If (3), please clarify...
>
> As for (2):
> > You can't modify files on a non-branch tag, but you can
> > remove!
>
> That you can't modify them isn't because that's been deemed a Bad
> Thing, but because it's simply impossible -- the underlying RCS
> doesn't permit you to modify an existing revision in-place.
>
> Deleting a tag clearly is possible.  I can see your point that
> some shops might want to prevent just anyone (or anyone at all,
> for that matter) from doing it, but CVS is generally pretty lax
> about per-user permissions; it depends on underlying file-system
> permissions to give a coarse level of control, but that's about
> it.  I believe there are patches floating around that claim to
> give you a finer-grained permission scheme (but whether they let
> you control this particular action, I wouldn't know).  Search the
> list archives for references.
>
> --
>
> |  | /\
> |-_|/  >   Eric Siegerman, Toronto, Ont.[EMAIL PROTECTED]
> |  |  /
> With sufficient thrust, pigs fly just fine. However, this is not
> necessarily a good idea.
>   - RFC 1925 (quoting an unnamed source)
>
> ___
> Info-cvs mailing list
> [EMAIL PROTECTED]
> http://mail.gnu.org/mailman/listinfo/info-cvs
>


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



Removal of tagged files

2001-06-10 Thread Chris Cameron

We've had the experience of cvs allowing files to be removed from a
non-branch tag!  You can't modify files on a non-branch tag, but you can
remove!  Has anyone else experienced this, or submitted a patch?  IMHO it
doesn't seem to be logical to prevent modify, but not remove (after all it
is a special kind of file modification!).

*******
Chris Cameron   Open Telecommunications Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)



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



RE: File permissions [make that directory permissions!]

2001-05-22 Thread Chris Cameron

Without contradicting any of Gregs comments on security, which have been
aired in this forum too many times to count, I feel that Greg's last
paragraph is the most relevant.  What is the background to the original
question?  Is this an internal or external project?  What are you trying to
protect against?  Malicious users or uses who may do potentially damaging
operations without being aware of it?

***
Chris Cameron   Open Telecommunications Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
Greg A. Woods
Sent: Wednesday, 23 May 2001 10:44 a.m.
To: Tracy Brown
Cc: CVS-II Discussion Mailing List
Subject: RE: File permissions [make that directory permissions!]


[ On Tuesday, May 22, 2001 at 14:19:42 (-0700), Tracy Brown wrote: ]
> Subject: RE: File permissions [make that directory permissions!]
>
> I'm a little confused. For my user base, none have UNIX shell accounts.
> In the pserver password file:
>   user:password:user_to_run_as
>   i.e.
>   bob:lsfdkuhsdf:pubcvs
>
> The $USER var will return the user (bob) and not the optional
user_to_run_as
>
> (pubcvs) as noted in the above example. Thus, I can hold my users
> accountable to their modifications made in the repository.

Where do you get that idea?  There's only one user accountable for the
repository and that's the user the pserver thing runs as.  Any apparent
accountability offered by pserver is only an illusion that cannot be
verified.

Accountability in Unix *requires* Unix user-ids for each entity that's
to be held accountable.  You cannot eat your cake and have it too.

Note that because CVS is not a security tool and thus does not have any
real security within it, it cannot do secure authentication and secure
authorisation and it cannot prevent one fake user from making it look
like some other fake user did something in the repository.  CVS pserver
has no accountability whatsoever.  You are dreaming if you think
otherwise.  It also has no privacy whatsoever (unless you tunnel it
through SSH, but that's rather pointless since you've got to create Unix
accounts for SSH anyway).  Without privacy the passwords, the code,
etc., all passes over the network in the clear and without any
protection from man-in-the-middle attacks (such as connection hijacking,
connection spoofing, etc.).  Trivial off-the-shelf tools will allow
anyone with access to your network to do any manner of things to a
pserver connection.  With a tiny amount of additional work this might
even include doing things like stuffing trojan code into your repository
during a commit by someone else!

> As an administrator I really don't want to manage 100+ UNIX accounts just
> because I should trust them... that's a hassle. And we don't need to -
> we can obtain accountability without this silly hassle.

You would rather administer fake accounts in some insecure
application?!?!?!?

Real unix accounts are most definitely *NOT* any kind of "hassle"!
You're fooling yourself and focusing on the wrong issues.  When you go
to get a driver's license it's not just a photocopy of some master --
it's a unique document personalised to the person it is granted to.

Note that you don't have to *support* full shell access to the server,
but you do have to be aware that the possibility is there and that it
cannot be prevented, pserver or not.  (SSH+chroot might be able to
restrict what parts and services on the server are visible and usable by
the user, but otherwise don't change the equation w.r.t. the repository
itself; and I personally would never use them in place of having a
separate server.)

If you're offering access to important files on your system then you
really do want to create real individual Unix accounts for each and
every entity you authorise such access for!  With only fake pserver
accounts you're providing all of the trappings (and hinding behind them)
but none of the substance of real security controls.

You are in fact implicitly trusting pserver users with what ammounts to
shell access as the pserver user -- you just don't have any basis for
that trust because you really cannot hold them accountable and you have
not really authenticated them.  Without using some external auditing
process where the programmers are each individually required to
re-verify the origin and intgrity of each of their changes the code in
that reposit

RE: Crazy idea - replace RCS backend with ClearCase...!!!

2001-05-22 Thread Chris Cameron

Sorry to throw a spanner in the works, but from 1.10, CVS incorporates RCS
as a set of libraries and doesn't call the external rcs commands.

***
Chris Cameron   Open Telecommunications Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
Julian Gosnell
Sent: Wednesday, 23 May 2001 10:43 a.m.
To: [EMAIL PROTECTED]
Subject: Crazy idea - replace RCS backend with ClearCase...!!!



OK - I'm mad, now here me out

Imagine you work for a large company.

They decide on a 'strategic' SCM - Clearcase - in which every project
must live.

They then task you with looking at OpenSource development methodologies
and tools.

Unsurprisingly, all of these use CVS - because it does the job and is
free - in all senses of the word.


I can look at forking each OpenSource project that I might like to
deploy within my company (e.g. SourceForge, Tinderbox, Bonsai etc.),
producing a Clearcase backend, and maybe merging (licences and project
owners permitting) back my code, in the hope that it will continue to be
maintained and I won't be left out on a branch, or I can consider
something wierd :

Tools using CVS for their SCM, ulimately as I understand it (I'm open to
correction here), end up calling RCS. RCS has a nice small, closed set
of functionality. I would be surprised if Clearcase could not replicate
all of this... - So

What is to stop me writing several wrapper scripts (e.g. ci, co, rcs
etc...) which actually call clearcase to do the file-based version
control ? This would be one piece of well defined work. Most well
written CVS backends would continue to work oblivious to the fact that
the implementation of the file versioning had changed. I would be happy
since I could painlessly deploy OpenSource tools and work through CVS
with them and my company would be happy because they would have all
their source stuck into a repository which has cost them a small
fortune.

I guess what I'm asking is, "Is the interface between CVS and a project
in it's Repository completely described by RCS", or does CVS do things
like go under the covers and parse the contents of RCS files ?


What would the gotchas be ?

Do you still think I'm crazy ?

BTW - I work on two OpenSource projects using CVS in my own time, and
try to advocate use of and contributing to OpenSource and FreeSoftware
in my company, so if you fancy flaming me for wanting to rip-off
everyone's hard work and put it to my own capitalistic ends, please
think again.


Thanks for your time,



Jules



_
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


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


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



RE: "Triggers" & links to defect tracking systems

2001-05-10 Thread Chris Cameron

We use a commitinfo script to check for commit permission, a verifymsg
script to validate the PR number and the loginfo file for putting the log
message into our fault database.  All this is done using pserver.
commitinfo and verifymsg are run before the commit occurs and loginfo
afterwards.

***
Chris Cameron   Open Telecommunications Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
Jerry Nairn
Sent: Friday, 11 May 2001 8:29 a.m.
To: 'Tracy Brown'; [EMAIL PROTECTED]
Subject: RE: "Triggers" & links to defect tracking systems



>From: Tracy Brown [mailto:[EMAIL PROTECTED]]
>Sent: Thursday, May 10, 2001 11:33 AM
>> "Mark D. Baushke" wrote:
>>While this is possible if you are
>> using a local
>> > repository or the rsh/ssh transport, I don't know of any
>> way to do it
>> > with the :pserver: method of interaction.

>The rcsinfo file template generation hook works great with :peserver:

I haven't used this, but the documentation says that in client/server
operation, the template is copied from the server at the time of checkout.
Updates to the template on the server will not be reflected on the client
until a new checkout is done.
Jerry

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


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



RE: CVS problem

2001-05-09 Thread Chris Cameron

That was my first reaction as well.  However IMHO this theory is incorrect.

1. I check out a file.
2. I build the .o file
3. I make changes to the file.
4. I realise I made a mistake in the changes, so I remove the file and do an
update
5. make will now do an unnecessary rebuild of my .o file

Only I can make decision as to whether the make needs to rebuild the .o file
and the best way for me to make the decision is to manually remove the .o
file if it needs rebuilding!  This rebuild could have knock on effects
throughout the rest of the developers sandbox.

***
Chris Cameron   Open Telecommunications Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
Jerry Nairn
Sent: Thursday, 10 May 2001 5:50 a.m.
To: 'Chris Cameron'; Infocvs
Subject: RE: CVS problem


>From: Chris Cameron [mailto:[EMAIL PROTECTED]]
>Sent: Tuesday, May 08, 2001 10:42 PM

>The checkout gets the correct timestamnp on the file.
>
>The first update gives bar.cc a timestamp which corresponds to the
>time you issued the update command.
>
>The second update give bar.cc the timestamp of the original
>checkin time of bar.cc

That's the way it's supposed to work, to interact properly with make.
Jerry

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


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



FW: CVS problem

2001-05-08 Thread Chris Cameron

Greetings,

One of our developers has reported the following behaviour from CVS.  I
think I've found in the update code where this behaviour, the question is
whether there is a reason for this behaviour?  Our developer expected the
timestamp to revert to the original co timestamp.

% cvs co foo/bar.cc
% cd foo
% ls -l
% rm bar.cc
% cvs update bar.cc
% ls -l
% rm bar.cc
% vi CVS/Entries  (remove the line for bar.cc)
% cvs update bar.cc
% ls -l

The checkout gets the correct timestamnp on the file.

The first update gives bar.cc a timestamp which corresponds to the
time you issued the update command.

The second update give bar.cc the timestamp of the original
checkin time of bar.cc

***
Chris Cameron   Open Telecommunications Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)



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



RE: reserved lock and other patches

2001-03-21 Thread Chris Cameron

Sorry about the reply format M$ won't let me change to a preferable format,
but let's not go there!  I've been off the air for a few weeks and have just
caught up!

When I incorporated Noel's edit patches into our CVS source (1.10.7) I
modified sanity.sh so that it wouldn't choke on the new behaviour.  I didn't
add any checks for the new features.  I can send you a sanity.sh diff if you
want.

*******
Chris CameronOpen Telecommunications NZ Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
Noel L Yap
Sent: Thursday, 22 March 2001 12:34 p.m.
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: reserved lock and other patches


My free time has run out again.  The stuff I still need to get done are:
1. Update the documentation (since you volunteered and I don't have the
necessary tools, I'll let you debug it :-)
2. Create regression tests.  I still need a volunteer for this.  I'll gladly
communicate req's to such a volunteer.
3. Create two other small, unrelated patches.  I'll do this myself, except
the
the docs and test cases.

Thanks,
Noel




[EMAIL PROTECTED] on 2001.03.21 12:46:30

To:   [EMAIL PROTECTED], [EMAIL PROTECTED]
cc:
Subject:  Re: reserved lock and other patches




"Derek R. Price" wrote:

> Noel L Yap wrote:
>
> > >I'd also want to see documentation updates (to cvs.texinfo) before I'd
check
> > this
> > >in.
> >
> > It looks like cvs.texinfo is easy enough to change, but can you tell me
how
I
> > can test those changes?
>
> $ cd doc
> $ make info

You know, if you don't have makeinfo &/or tex installed, and can get all the
pertinent information into the cvs.texinfo file, I can't imagine it wouldn't
take me
more than half an hour to fix errors and reformat it.  Not that I'd want to,
but
if
that's your stopper...

I'd still need the separate patches and test cases, of course.

Derek

--
Derek Price  CVS Solutions Architect
 http://CVSHome.org )
mailto:[EMAIL PROTECTED] CollabNet ( http://collab.net )
--
I've never made a mistake in my life.  I thought I had once, but it turned
out that I hadn't.








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


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


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



Recursive update

2001-03-06 Thread Chris Cameron

I haven't tested this, but can anyone tell me the expected behaviour of
cvs update -dlP
i.e. create missing files and directories; don't recurse; prune old files 
and directories

Does the 'don't recurse' command stop recursion into newly created 
directories?  Put another way, will this command correctly create a new 
directory structure and its files?  I'm trying to improve the performance 
of an automatic update script, which currently recurses through a large 
(and growing) directory structure, so the commit takes a looong time!

*******
Chris CameronOpen Telecommunications NZ Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)



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



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

2001-02-25 Thread Chris Cameron

If anyone is still interested, I located the information in our CVS source. 
 This diff is against 1.10, but it is only a couple of lines to change.  It 
is a patch to allow & and -d to be used in one line in the modules file 
(like Cederqvist says you can!).  We downloaded the original patch from the 
CVS web page

[ccameron@helios:/home/users/ccameron/CVS_src/src] cvs diff -r1.2 -r1.1 
modules.c
Index: modules.c
===
RCS file: /CVS/CVS_src/src/modules.c,v
retrieving revision 1.2
retrieving revision 1.1
diff -u -r1.2 -r1.1
--- modules.c   1999/03/26 05:14:21 1.2
+++ modules.c   1999/03/26 04:58:29 1.1
@@ -376,14 +376,12 @@
 */
char *dir;

-   /*fix for combining & with cvs -d options*/
-   do_special_only:
/* XXX - XXX - MAJOR HACK - DO NOT SHIP - this needs to
   be !pipeout, but we don't know that here yet */
if (!run_module_prog)
goto out;

-   dir = where ? where : (mwhere ? mwhere : mname);
+   dir = where ? where : mname;
/* XXX - think about making null repositories at each dir here
 instead of just at the bottom */
make_directories (dir);
@@ -505,11 +503,6 @@
 modargv += optind;
 if (modargc == 0)
 {
-/* NHR if there are special options, then handle them
-   with the code that handles the case when there are nothing
- but special options */
-if (spec_opt !=3D NULL) goto do_special_only;
-
error (0, 0, "modules file missing directory for module %s", 
mname);
++err;
goto do_module_return;
[ccameron@helios:/home/users/ccameron/CVS_src/src]

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

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

2001-02-05 Thread Chris Cameron

Sorry, I'm on the road at the moment and can't check my e-mail often, or the
CVS repository at all!  What you're describing seems very similar to the
patch I downloaded from cvshome.org (or it's previous incarnation) a year or
two ago.  If you can wait 3 weeks, I can check our repository when I get
home.  Otherwise, someone else may be able to help.  As I said previously,
there is (was?) a patch at one time to fix a bug similar to this.


*******
Chris CameronOpen Telecommunications NZ Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)


> -Original Message-
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of
> Haefelinger, Wolfgang
> Sent: Friday, 2 February 2001 12:03 p.m.
> To: '[EMAIL PROTECTED]'
> Subject: RE: problem with "co -d xx -n" : bug or feature?
>
>
> Hello,
> 'down-nailed'  my problem (see below) to next few lines
> in  file  ~/src/modules.c (around line 533). I included
> the #ifdef and #endif lines - and voila, cvs behaves as
> expected.
>
> #ifdef HAVE_MAJOR_HACK
>   /* XXX - XXX - MAJOR HACK - DO NOT SHIP - this needs to
>  be !pipeout, but we don't know that here yet */
>   if (!run_module_prog)
>  goto do_special;
> #endif
>   dir = where ? where : (mwhere ? mwhere : mname);
>   /* XXX - think about making null repositories at each dir here
>  instead of just at the bottom */
>   make_directories (dir);
>   if ( CVS_CHDIR (dir) < 0)
>   {
>  error (0, errno, "cannot chdir to %s", dir);
>  spec_opt = NULL;
>  err++;
>  goto do_special;
>   }
>
> Two questions remain:
> (a) after all, what does  the  above 'XXX - XXX' comment
> mean and where will cvs fail now?
> (b) my naive assumption about an  (ampersand) module was,
> that a module is something  like an abbreviation for
> a (possible)  large  list  of  arguments to cvs, e.g.
> writing the ampersand module
>   am &mod1 &mod
> and executing
>   $cvs co am
> is exactly equivalent with
>   $ cvs co mod1 mod2
> or, in  other word, my assumption was that an argument
> identified as 'module' gets expanded by its definition
> but the result of this  expansion is evaluated then as
> if I had typed it manually on the commandline.
> But this is  not the case: my assumption is that there
> are two evaluation procedures, one for modules and one
> for 'files' and my question is just: why?
>
> Bye,
> Wolfi.
>
> > -Ursprüngliche Nachricht-
> > Von: Chris Cameron [mailto:[EMAIL PROTECTED]]
> > Gesendet: Freitag, 2. Februar 2001 12:39
> > An: 'Haefelinger, Wolfgang'; [EMAIL PROTECTED]
> > Betreff: RE: problem with "co -d xx -n" : bug or feature?
> >
> >
> > There used to be a patch available at cvshome to fix a
> > similar problem in
> > the modules file.  I cannot remember the exact details, but
> > we installed the
> > patch.  AFAIK it has not been incorporated into the main CVS
> > tree.  Sorry I
> > can't give you any more details, but I'm out of the office,
> > visiting sales
> > offices in the Americas, so can't get at our CVS repository
> > to give you more
> > details.
> >
> > > -Original Message-
> > > From: [EMAIL PROTECTED]
> > > [mailto:[EMAIL PROTECTED]]On Behalf Of
> > > Haefelinger, Wolfgang
> > > Sent: Friday, 2 February 2001 7:53 a.m.
> > > To: '[EMAIL PROTECTED]'
> > > Subject: problem with "co -d xx -n" : bug or feature?
> > >
> > >
> > > Hello there,
> > > here's  my  problem:  defined an "ampersand module"
> > > in  $CVSROOT/CVSROOT/modules and got a problem when
> > > checking out the module using checkout options "-d"
> > > and "-d" and want to know whether this is a (known)
> > > bug or a feature. That's what I have and what I did
> > > on
> > >  $uname -a
> > >  SunOS intra-dev 5.6 Generic_105181-05 sun4u sparc SUNW,Ultra-2
> > >
> > >  $cvs --v
> > >  Concurrent Versions Sy

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

2001-02-02 Thread Chris Cameron

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

> -Original Message-
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of
> Haefelinger, Wolfgang
> Sent: Friday, 2 February 2001 7:53 a.m.
> To: '[EMAIL PROTECTED]'
> Subject: problem with "co -d xx -n" : bug or feature?
>
>
> Hello there,
> here's  my  problem:  defined an "ampersand module"
> in  $CVSROOT/CVSROOT/modules and got a problem when
> checking out the module using checkout options "-d"
> and "-d" and want to know whether this is a (known)
> bug or a feature. That's what I have and what I did
> on
>  $uname -a
>  SunOS intra-dev 5.6 Generic_105181-05 sun4u sparc SUNW,Ultra-2
>
>  $cvs --v
>  Concurrent Versions System (CVS) 1.10.7 (client/server)
>
> My repository contains the directories "mod1" and "mod2".
> Want to checkout them both with a symbolic name. There-
> fore I added the line "am &mod1 mod2" to the modules
> file:
>
>  $ cat $CVSROOT/CVSROOT/modules
>  am &mod1 &mod2
>
> That's pretty fine since
>  $ rm -rf am
>  $ cvs co am
>  $ ls am
>  mod1 mod2
>
> does exactly what I want. Even better,
>
>  $ rm -rf xx
>  $ cvs co -d xx am
>  $ ls xx
>  mod1 mod2
>
> let's me checkout the modules in another directory. That's
> wonderful, wow!
>
> BUT, trying also option -n to prevent any additional checkout
> script from beeing triggered behaves unexpected:
>
>  $ rm -rf *
>  $ cvs co -n -d xx am
>  $ ls
>  mod1 mod2
>
> The modules are checked out in the working directory and not
> as beeing told in the subdirectory "xx".
>
> BUT-BUT, on the other side,
>
>  $ rm -rf *
>  $ cvs co -n -d xx mod1 mod2
>  $ ls
>  xx
>
> does the right thing.
>
> Ok, I'm much too stupid to understand why 'cvs' behave in
> this way, therefore  I  ask you, what's going on here. If
> this is a bug, I'm willing to fix it.
>
> Thanks,
> Wolfi.
>
>  _Wolfgang Haefelinger
>  voice: 069-263-16582
>  email: [EMAIL PROTECTED]
>
> ___
> Info-cvs mailing list
> [EMAIL PROTECTED]
> http://mail.gnu.org/mailman/listinfo/info-cvs
>


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



Commitinfo behaviour

2001-01-25 Thread Chris Cameron

I know that commitinfo takes regular expressions to determine which script 
to run on each part of the repository.  I've always (assumed I guess) 
thought that the regex started from CVSROOT.  I've just observed behaviour 
which doesn't match this!  Can anyone tell me how this is meant to work (is 
it a bug or expected behaviour).  What I saw was:

commitinfo:
bbb/* script1 .
aaa/* script2 .

In the working directory was the structure
aaa/ccc
aaa/ddd/bbb
aaa/eee

During the commit script2 was run in aaa/ccc aaa/ddd and aaa/eee, but 
sript1 was run in aaa/ddd/bbb!


*******
Chris CameronOpen Telecommunications NZ Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)



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



Import and commit

2001-01-18 Thread Chris Cameron

Does anyone know of any patches which may be available to force an import to do the 
precommit checks as specified in commitinfo?


***
Chris CameronOpen Telecommunications NZ Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)



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



RE: Ampersand module question

2000-11-28 Thread Chris Cameron

On Wednesday, November 29, 2000 10:22 AM, Laine Stump 
[SMTP:[EMAIL PROTECTED]] wrote:
> Laird Nelson <[EMAIL PROTECTED]> writes:
>
> > I'm curious about ampersand modules.
> >
> > Once a regular module (containing another module via the "&" construct)
> > is checked out, does that module actually *know* that it contains the
> > contained module?
> >
> > If my modules file says something like this:
> >
> >   frobnicator  frobnicator &caturgiator
> >
> > ...and I do this:
> >
> >   cvs checkout -P frobnicator
> >
> > ...then I get this (as expected):
> >
> >   frobnicator/somedir
> >   frobnicator/caturgiator/someotherdir
> >
> > ...but now if I do this:
> >
> >   cd frobnicator; rm -rf caturgiator; cd ..
> >
> > ...and then do this:
> >
> >   cvs -q update -d -P -A
> >
> > ...then caturgiator does not reappear, suggesting that frobnicator's 
CVS
> > directory does not record what the modules file engineered to happen.
>
> Correct. there isn't enough info about submodules in the upperlevel
> CVS directory to bring it back, and cvs update ignores the modules file.
>
> > The only way to set this back up would be to re-checkout the project or
> > checkout the caturgiator module directly at this level.
>
> I believe if you do cvs checkout from above the toplevel of an
> existing work directory, and it will update what's already there, and
> add anything new that it finds in the modules file. It won't *remove*
> anything that was taken out of the modules file, though.
>
> > Is that by design?
>
> It seems more likely it was just an accident of implementation. The
> entire modules file concept doesn't seem very well thought out to me;
> more like an afterthought tacked on one rainy afternoon...
>
This seems to be (on my quick look) an artifact of the files in the CVS 
directory.  Entries contains the directories (and files) which have been 
checked out. Entries will have a D line for caturgiator. However CVS does 
an update by recursing into each directory in the current directory and 
doing an update there.  In this case caturgiator doesn't have a directory 
so it can't be recursed into.  CVS then goes into the repository in the 
location specified in Repository and tries to recreate files and 
directories that are in Entries, but not visible in the current directory. 
 In this case caturgiator is not in the Repository location, so can't be 
updated.  I guess the short answer is not to delete caturgiator once you've 
checked it out.

It seems to me that the intention of the modules file was to allow you to 
perform several checkouts at one time, using an 'alias' instead of having 
to remember all the repository locations.

***
Chris CameronOpen Telecommunications NZ Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)



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



RE: merge/diff GUI tool

2000-11-28 Thread Chris Cameron

On Wednesday, November 29, 2000 9:21 AM, Howard Zhou [SMTP:[EMAIL PROTECTED]] wrote:
> Hi, CVS Users,
> 
> I am wondering if there is any GUI based diff/merge tool in the public
> domain, which can work with CVS?
> 
tkdiff.  Sorry I can't remember where I downloaded it from.  From memory it came with 
tkcvs.


*******
Chris CameronOpen Telecommunications NZ Ltd
Product Manager   IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)



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



RE: "No space left on device" error during cvs status/update

2000-11-01 Thread Chris Cameron

On Thursday, November 02, 2000 9:40 AM, Robert Bresner 
[SMTP:[EMAIL PROTECTED]] wrote:
>
>
> [EMAIL PROTECTED] wrote:
> >
> > You write:
> >
> > >Filesystemkbytesused   avail capacity  Mounted on
> > >/dev/dsk/c0t0d0s0 962582  830683   3564996%/
> >
> > assuming /tmp is part of this device, then if your project is larger
> > than 17.8 Megs your probably running out of space on /tmp.
>
> Why? Does CVS copy an entire project to /tmp before performing the
> likes of an update or status on my NT client?
> If this were the case, then ALL of my areas should fail, but only
> two of seven are failing.
>
>
> > >swap  1866405488  181152 3%/tmp
> > Does this mean that the swap partition is mounted on /tmp???
>
> Sure looks that way. I don't know much about swap spaces and mounts
> or, for that matter, setup of unix boxes.
>
Can't solve your other problems, but this looks like a Solaris box.  On 
Solaris, /tmp uses the swap partition.  This df is showing that the swap 
space is mounted as /tmp.  Therefore as more swap space is used, less space 
is available for /tmp AND this can change dynamically as the system is 
running!

***
Chris CameronOpen Telecommunications NZ Ltd
Senior Solution Architect IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)



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



RE: access rights to branches

2000-10-31 Thread Chris Cameron

On Wednesday, November 01, 2000 1:43 AM, Laird Nelson 
[SMTP:[EMAIL PROTECTED]] wrote:
> Shem Mazur wrote:
> > I have a CVS user who continues to checkout modules or update files 
from
> > the wrong branches.  Can I restrict her ability to update from
> > particular branches or main trunk?
>
> What the various other replies were trying (somewhat unhelpfully :-)) to
> tell you is no, not with CVS out of the box.  With its commitinfo
> mechanism you can't get access to either (a) the new revision number
> prior to the commit taking place (a feature that sure would be nice to
> have) or (b) whether or not the user supplied a -r switch to the commit
> command.  If you could get either (a) or (b) then you could reliably
> block commits onto a branch.
>

There was a patch posted to this group a while ago, to add revision 
information to the rest of the information passed to commitinfo.  Check out 
the following at cvshome.org for more details:

http://www.cvshome.org/cyclic/cvs/dev-commitinfo.txt
http://www.cvshome.org/dev/patches/commitinfo

These both seem to be pointers to the same patch, but I haven't confirmed 
this.  This patch will require changes to all your commitinfo scripts.

*******
Chris CameronOpen Telecommunications NZ Ltd
Senior Solution Architect IN Product Management
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)



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



RE: Visually Viewing Branches and Tags

2000-10-24 Thread Chris Cameron

On Wednesday, October 25, 2000 9:05 AM, Matthew Hahn 
[SMTP:[EMAIL PROTECTED]] wrote:
> Hello,
>
>   Does anyone know of a tool or program that parses
> through an RCS file or even through a CVS repository
> and outputs a graphical (ASCII graphics is plenty
> graphic) tree-like structure of CVS branches and tags.
>  Thanks.
>
WinCVS and tkCVS both give this functionality on a per file basis, but only 
for checked out files.  I'm not sure about jCVS as its a while since I 
looked at it.


***********
Chris CameronOpen Telecommunications NZ Ltd
Senior Solution Architect
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)



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



RE: cvs-nserver and latest CVS advisory (Was: patch to make CVS chroot)

2000-08-08 Thread Chris Cameron

On Tuesday, August 08, 2000 6:14 PM, Justin Wells [SMTP:[EMAIL PROTECTED]] 
wrote:
> On Mon, Aug 07, 2000 at 02:11:13PM -0400, Greg A. Woods wrote:
>
> > The *ONLY* secure way to use cvspserver is to rip out the current crap
> > in the implementation that requires it to run as root and then to run 
it
> > only as a non-privileged unique user-id which is given permission to
> > read (and only read, i.e. it must be through group ownership) the
> > CVSROOT/passwd file.
>
> So, if I do that, how do I get access control lists? Currently the only
> reason why I have to run pserver as root is so that I can hand out
> write access to my repository on a module by module basis. Core
> developers get to write to every module, but some developers are only
> permitted to write to one or two modules. I do this by putting people
> into different unix groups.
>
> If there is some other way I can do this, without having to rely on
> unix groups, then I don't have to run pserver as root--and that *would*
> be a big improvement.
>
We use a commitinfo script to control who has commit priviledges to which 
parts of the repository.  Our pserver runs as a special user (under inetd) 
with virtually no permissions except the ability to run cvs.


***
Chris CameronOpen Telecommunications NZ Ltd
Senior Solution Architect
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)





RE: CVS pids and the pids of its kids

2000-08-02 Thread Chris Cameron

On Thursday, August 03, 2000 11:57 AM, Laird Nelson 
[SMTP:[EMAIL PROTECTED]] wrote:
> TC wrote:
> > He is probably tring to do some stuff with the commit & loginfo scripts 
&
> > they hide in $TMPDIR/cvs-serv[pid] (server.c) & if script he is in is
> > calling
> > out to get the parent process id he's not going to find the right
> > cvs-serv[pid] dir
> > with the contant he is expecting ...
>
> We have a winner.
>
> So is it then true in general (I am almost 100% sure that it is) that in
> between the commitinfo/verifymsg scripts getting executed and the
> loginfo script getting executed some other program in the system could
> come along and grab a PID, thus making the delta between the loginfo
> ppid and the commitinfo ppid be greater than 3?
>
> That is, the fact that I'm seeing nothing grabbing a pid inbetween the
> fork and exec calls doesn't mean that something COULDN'T grab a PID at
> that point.  SO I really shouldn't rely on the delta being 3 at all,
> should I.

I think this behaviour would depend on the load on the system.  If your 
server is not being used as a multi user system and is lightly loaded, you 
would probably see this behaviour.  On a heavily loaded system, anything is 
possible!  Then again, if this is Linux, I don't know how similar to the 
commercial flavours of Unix it is in this regard.

***
Chris CameronOpen Telecommunications NZ Ltd
Senior Solution Architect
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)





RE: Checking branch for commit

2000-07-31 Thread Chris Cameron

On Friday, July 28, 2000 9:45 PM, Marc Poinot [SMTP:[EMAIL PROTECTED]] 
wrote:
>
> I have to check the commited branch, but the commitinfo
> actually gives nothing else but the file name.
> The loginfo has more infos, but it cannot make the commit
> fail. Thus, I have modified the src/commit.c file with
> these three lines:
>
Sorry  if this is late, but there was a patch posted at one time to pass 
version information to commitinfo.  This would allow you to determine that 
the commit was occuring on the branch.  I can't find or remember the patch 
:(!


*******
Chris CameronOpen Telecommunications NZ Ltd
Senior Solution Architect
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)





RE: loginfo question

2000-06-08 Thread Chris Cameron

On Friday, June 09, 2000 9:45 AM, Olaf Meding 
[SMTP:[EMAIL PROTECTED]] wrote:
> Can someone explain why CVS does not send an email notification to both 
john
> and olaf?  In either case, I commited a file in test/dir1 (see below).
>
> Is there a  way to fix this?  I would like one person to get 
notifications
> for all sub-directories and the other only for a specific sub-directory.
>
> Below are lines from my loginfo file.
>
> * case 1 *
> ^test*  bla "%s" john
> ^test/dir1* bla "%s" olaf   # why does olaf not get and email?
>
> * case 2 *
> ^test/dir1* bla "%s" olaf
> ^test*  bla "%s" john   # why does john not get an email?
>
The first match is used in all the info files (Cederqvist section C.3).  We 
use a loginfo script to control who gets e-mails (you can add on extra 
parameters to be passed to your script).


***
Chris CameronOpen Telecommunications NZ Ltd
Senior Solution Architect
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)





RE: CVS access using SSH

2000-06-07 Thread Chris Cameron

On Thursday, June 08, 2000 4:59 AM, Sheldon Samuels [SMTP:[EMAIL PROTECTED]] 
wrote:
> Well, I now get a different set of errors, although I'm not sure if this is from SSH 
>or CVS.  Here is what I've done.
> 
> 1)  I created a batch file (sshx.bat) and placed the proper SSH command inside of 
>the batch.  The SSH command is as follows:
> 
> ssh -v projectname.sourceforge.net -l username
> 
> 2)  I then set my CVS_RSH=sshx.bat
> 
> 3)  Now when I run "CVS UPD" I get the following response:
> 
> SSH Version 1.2.14 [winnt-4.0-x86], protocol version 1.4.
> Standard version.  Does not use RSAREF.
> Pseudo-terminal will not be allocated because stdin is not a terminal.
> ssh_connect: getuid 0 geteuid 0 anon 0
> Connecting to panjasource.sourceforge.net [198.186.203.44] port 22.
> Connection established.
> Remote protocol version 1.5, remote software version 1.2.27
> Waiting for server public key.
> Received server public key (768 bits) and host key (1024 bits).
> Host 'panjasource.sourceforge.net' is known and matches the host key.
> Initializing random; seed file c:\home/.ssh/random_seed
> Encryption type: idea
> Sent encrypted session key.
> Received encrypted confirmation.
> Trying RSA authentication with key 'smskeys'
> Received RSA challenge from server.
> Sending response to host key RSA challenge.
> Remote: RSA authentication accepted.
> RSA authentication accepted by server.
> Requesting shell.
> Entering interactive session.
> -bash: Root: command not found
> -bash: Valid-responses: command not found
> -bash: valid-requests: command not found
> 
This may be too late and you may have solved the problem, but aren't the last three 
commands part of the pserver protocol?


***
Chris CameronOpen Telecommunications NZ Ltd
Senior Solution Architect
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)





RE: cvswrappers

2000-05-28 Thread Chris Cameron

On Saturday, May 27, 2000 9:09 AM, Derek Scherger 
[SMTP:[EMAIL PROTECTED]] wrote:
> I'm just looking into using cvswrappers to do some simple cleanups on
> some of our files on checkin (using the -t option) but there's a line in
> the html documentation that makes me think I'm SOL:
>
> The cvswrappers file
> 
>
>  ... The `-t'/`-f' feature does not work with
> client/server CVS. ...
>
> Say it ain't so! This would be great for doing things like stripping
> ^M's introduced by silly Windoze editors, running indent to format
> source, etc. except that we're using client server cvs.
>
> Is this documentation correct? Is there any way to do something similar
> to the filtering available with cvswrappers that will work in client
> server mode?
>
> --
If you REALLY want to do this, you could use the commitinfo file to trigger 
a script or program to do this.  The *info files work fine in c/s mode, 
except for the absence of user interaction.


***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)





RE: CVSROOT/passwd enhancements

2000-05-23 Thread Chris Cameron

On Wednesday, May 24, 2000 7:40 AM, Larry Jones [SMTP:[EMAIL PROTECTED]] 
wrote:
> I'm considering making some enhancements to the CVSROOT/passwd file
> format and I'd like people's opinions:
>
> First, I'd like to interpret "*" in the password field as "the system
> password for this user".  That would allow people who are not concerned
> with network security to use system passwords along with user mapping.
> For example, one could have a CVSROOT/passwd that looked like:
>
>   john:*:cvsadmin
>   lisa:*:cvsadmin
>   bill:*:cvsuser
>   anne:*:cvsuser
>
> instead of having to give everyone separate CVS passwords or copy their
> system passwords into CVSROOT/passwd and then having to worry about
> keeping them in sync.
>
> Second, I'd like to interpret "*" in the username field as "any system
> user".  That would allow even more simplification -- for example:
>
>   *:*:cvsuser
>
> could be used to allow any system user to run CVS; or
>
>   *:asdfghjklqwer:nobody
>
> could be used to allow anyone who knows the password to run CVS.
>
> An interesting side-effect of these changes is that the SystemAuth
> config option would no longer be needed:
>
>   *:*
>
> is equivalent to SystemAuth=yes, and
>
>   *:x
>
> (or any other impossible password) is equivalent to SystemAuth=no.  This
> has the added advantage of keeping all the password-related stuff in one
> place.
>

We went to the password file because cvs running as any user except root 
couldn't read the shadow file to verify passwords.  This would not change 
the logic of your changes, but it could reduce the applicability.

***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)





RE: Keyword substitution of tags?

2000-05-22 Thread Chris Cameron

On Tuesday, May 23, 2000 2:44 AM, Keith Refson [SMTP:[EMAIL PROTECTED]] 
wrote:
> I'm sure this must be a common question, but it doesn't seem to appear 
> in the cvs FAQ.
> 
> How can I (semi-?) automatically maintain a text string identifying
> the project release version number?  One way which occurred to me
> would be to substitute the text of the release tag, but there doesn't
> appear to be a keyword to do this --(only the RCS ID which isn't what
> I want at all).
How about the $Name:$ keyword?  It expands to the tag, WHEN the tag is checked out.


*******
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)





RE: Emptydir

2000-05-11 Thread Chris Cameron

On Friday, May 12, 2000 8:36 AM, Nestor Amaya [SMTP:[EMAIL PROTECTED]] wrote:
> You should be careful when adding files/dirs, as it has happened to me that
> the files got placed in "Emptydir" instead of where I expected. For some
> reason, if a module defined as 
> 
>   dir2 dir1/dir2
> 
> is defined, and then I isssue the command "cvs co dir2/dir3", for some
> reason, "dir2/CVS/Repository" points to Emptydir, and not dir1/dir2 as I
> would expect. Beware.
> 
I posted a patch a while ago to prevent this happening.  I believe that this patch has 
since been incorporated into the latest CVS build.


*******
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)





RE: Displaying the tagged versions

2000-05-08 Thread Chris Cameron

On Tuesday, May 09, 2000 1:17 PM, Malcolm Fernandes [SMTP:[EMAIL PROTECTED]] wrote:
> What I'm trying to do is set this up as a one-step process without having to run
> additional steps to query the repository.  Since the repository is getting tagged
> at the time, it should know the revisions of the files that it is tagging, and
> that information could be easily displayed if an option was specified.
> 
This information is available to the taginfo scripts.  We log all tagging to a log 
file that can be reviewed later.



*******
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)





RE: Selection of branches for commit

2000-05-08 Thread Chris Cameron

On Tuesday, May 09, 2000 12:46 PM, Wade Stebbings [SMTP:[EMAIL PROTECTED]] 
wrote:
> Thank you!  I swore I saw this done before with stock CVS in a
> previous life.
>
> By inspection of your perl code, it tells me the CVS/Entries file
> gets copied to the temporary directory on the server side for a
> given request, and subsequently available for the commitinfo script
> to read.  This is exactly the bit of information that is needed in
> order to do this.
>
> To be sure I understood this, I looked in the CVS sources and
> found the server.c server_write_entries() function, and there it
> was.  And I had already gone and reluctantly modified CVS to do
> what I thought it was lacking (instead the lacking was my failing
> memory).
>
> It also gave me an appreciation and a hint for how CVS was once
> split into its client and server halves.  I hadn't looked at
> server.c, I was working in commit.c, tag.c, rtag.c, etc.
>
> Like Marc Poinot, we also have the desire to create a branch
> control mechanism.  Our system is written in Perl and back-ended
> by a MySQL database.  It is not completely done, and now I need
> to retro fit some changes in order to use stock CVS.  A little
> extra work, but I'm much happier to follow stock CVS.
>
There was a patch posted a while ago to change the information passed to 
commitinfo scripts to include the ORIGINAL branch number.  This may solve 
your problem and may be something for a future version of CVS.


***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)





RE: pserver & solaris hanging problem

2000-05-01 Thread Chris Cameron

On Saturday, April 29, 2000 12:26 PM, Anya Sophe Behn 
[SMTP:[EMAIL PROTECTED]] wrote:
>
> pserver 1.10 & Solaris 5.7 problem.
>
> inetd.conf:
> cvspserver  stream  tcp nowait  root 
   /usr/local/bin/cvs
>
> cvs -t --allow-root=/usr/local/cvsroot pserver
>
> /etc/services:
> cvspserver   2401/tcp
>
> CVSROOT/passwd: has valid crypted passwd & user
>
> Behavior:
> telnet servername 2401
> hangs.
> cvs -d :pserver:[EMAIL PROTECTED]:/usr/local/cvsroot login
> hangs.
>
> If I change the inetd.conf so cvs has no options, then
> cvs -d :pserver:[EMAIL PROTECTED]:/usr/local/cvsroot login
> says there is no cvsroot defined.
>
What do you mean by 'no options'?  You should always have the --allow-root 
option in pserver mode!  We are running pserver on Solaris (2.6/5.6) and 
have been for the last couple of years!


***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)





RE: Linking CVS repositories to other CVS repositories

2000-04-13 Thread Chris Cameron

On Friday, April 14, 2000 8:10 AM, William K. Gibson 
[SMTP:[EMAIL PROTECTED]] wrote:
>
> I need to know the best way to create links in CVS repositories.
>
> Specifically, can I construct links such that a module can be linked 
within
> another module and be checked out as a subdirectory.
>
> Here is an example of my situation. Say I have two modules, A and B. Both
> modules reside in their own seperate repositories in the CVSROOT. I have
> another module C containing a subdirectory C'. Within C' is source code 
that
> I wish to share amongst A and B. Can I simply create a link to C' in A 
and B
> and expect C' to be checked out as a subdirectory of A or B?
>
> If so, where do I create the link? Do I checkout A, and create a link to
> $CVSROOT/C/C' then add and commit the link? Will this work? Am I off my 
nut
> for wanting to do this?
>
We use the '&' module feature to do this type of thing, along with the -d 
option in the modules file.

If you do something like
_moduleA-d srcA ModuleA
_moduleB-d srcB ModuleB
_moduleC-d srcC ModuleC

moduleA -d moduleA  &_moduleC &_moduleA
moduleB -d moduleB  &_moduleC &_moduleB

a cvs co moduleA will give a directory structure
moduleA/srcA
moduleA/srcC

a cvs co moduleB will give
moduleB/srcB
moduleB/srcC

You cannot checkout two modules into one directory, and you can't create an 
empty directory (e.g. srcC) and then checkout a & module that inserts a 
file into the directory, you need to do things the other way around.  If 
you had another line
_moduleAmakemakefiles/moduleA/makefile
you would have to make the moduleA definition
moduleA -d moduleA  &_moduleAmake &_moduleC &_moduleA
Any other order and the moduleA repository will be set as 'Emptydir' and it 
won't work correctly.

***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)





RE: multiple repositories.

2000-04-12 Thread Chris Cameron

On Thursday, April 13, 2000 6:03 AM, Gary Pinkham [SMTP:[EMAIL PROTECTED]] wrote:
> I put 
> 
> #!/bin/sh
> /bin/cvs cvs --allow-root=/usr/local/cvs1 --allow-root=/usr/local/cvs2
> --allow-root=/usr/local/cvs3 --allow-root=/usr/local/cvs4 pserver

Don't pass cvs as a parameter to cvs and it should work for you.  The line should be:

/bin/cvs --allow-root=/usr/local/cvs1 --allow-root=/usr/local/cvs2 
--allow-root=/usr/local/cvs3 --allow-root=/usr/local/cvs4 pserver

> 
> into cvs.sh
> 
> then I added 
> 
> cvsserve  stream tcp nowait root /etc/inet/cvs.sh
> 
> into inetd.conf...
> 
> when I try to do a cvs login
> I get the following
> "cvs [login aborted]: unrecognized auth response from ape: CVS commands are:"
> 
> If I execute the cvs.sh from the command prompt I get the "CVS commands are:
> blah blah blah"..SO I was figuring that I needed to code the line different
> in the script then I would in the inetd.conf file...   I have no idea
> 
> GaRy
> 
> Dave Sherohman wrote:
> > 
> > On Wed, Apr 12, 2000 at 11:20:50AM -0400, Gary Pinkham wrote:
> > > Could someone point me in the right direction for setting up a shell script for
> > > inetd to call since I have 4 repositories and can only fit three in inetd...   I
> > > basically did /bin/cvs cvs --allow-root/usr/local/cvsroot (blah blah blah)
> > > pserver... But this does not work...  So I'm guessing that I'm supposed to
> > > have some other command
> > 
> > Your problem is simply that inetd doesn't like commands longer than 30
> > characters.  All you need to do is put your '/bin/cvs cvs
> > --allow-root/usr/local/cvsroot (blah blah blah)' command into a shell script
> > and call the script from inetd.
> > 
 


***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)





RE: Trouble making a connection to a CVS server

2000-04-11 Thread Chris Cameron

On Wednesday, April 12, 2000 11:01 AM, Jay Corrales [SMTP:[EMAIL PROTECTED]] 
wrote:
> The internet daemon does run the process as root. Also I tried to connect
> with both SystemAuth set to "yes" and "no" within the CVSROOT/config file.
> Thanks,
> -Jay
>

What is the line in your inetd.conf?
 
> -----Original Message-
> From: Chris Cameron [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, April 11, 2000 1:33 PM
> To: '[EMAIL PROTECTED]'; [EMAIL PROTECTED]
> Cc: [EMAIL PROTECTED]
> Subject: RE: Trouble making a connection to a CVS server
> 
> 
> On Wednesday, April 12, 2000 12:54 AM, Jay Corrales
> [SMTP:[EMAIL PROTECTED]] wrote:
> > Hello,
> > I am having no luck connecting the cvs client to the server. The cvs
> server
> > gets kicked off by the internet daemon on our SunOS 5.7(=? Solaris 2.7)
> > while servicing port 2401 requests. I check the process list and see the
> > following line:
> >
> > solaris2% ps -efl | grep cvs
> >  8 S root 16263   155  0  41 20?278? 05:24:59 ?
> > 0:00 cvs -td /usr/local/cvsroot --allow--root=/usr/local/cvsroot pserver
> >
> > However the client never passes the authentication state. For example if
> I
> > try:
> >
> > telnet solaris2 2401
> >
> > After connecting, I send any text (for example "foo" followed by return).
> > CVS does not respond at all; instead the telnet session hangs without
> > feedback.
> >
> > solaris2% cvs -version
> > Concurrent Versions System (CVS) 1.10 `Halibut' (client/server)
> > ...
> > solaris2% cat config
> > # Set this to "no" if pserver shouldn't check system users/passwords
> > #SystemAuth=no
> >
> > # Set `PreservePermissions' to `yes' to save file status information
> > # in the repository.
> > #PreservePermissions=no
> >
> > # Set `TopLevelAdmin' to `yes' to create a CVS directory at the top
> > # level of the new working directory when using the `cvs checkout'
> > # command.
> > #TopLevelAdmin=no
> > solaris2%
> >
> Are you running the pserver as root or another user (in the inetd.conf
> file)?  Solaris uses a shadow file to store passwords and only root has
> read access (by default) to this file.  So if pserver is running as root
> and SystemAuth=yes (the default) everything works fine.  But if pserver is
> running as another user, it cannot read the shadow file and therefore
> cannot authenticate the password.  In this case, you have to create a
> password file in CVSROOT.
> 


***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)





RE: Access to CVSROOT/passwd mapped username

2000-04-11 Thread Chris Cameron

On Wednesday, April 12, 2000 5:24 AM, Rodent of Unusual Size 
[SMTP:[EMAIL PROTECTED]] wrote:
> Rodent of Unusual Size wrote:
> >
> > As I understand it, the USER variable is set to the username of
> > the server-local user actually accessing the repository.  In the
> > case of a pserver-accessed repository, with usernames mapped
> > through the CVSROOT/passwd file mechanism, this will typically
> > be the value of the third field in the matching entry in the
> > CVSROOT/passwd file.
> >
> > So.. is there any way to get the *remote* username?  The one that
> > was mapped to the local one?  The one that matches the *first* field
> > in that entry?
>
> A little experimentation reveals something (I find) confusing.
> CVSROOT/loginfo contains a line like this:
>
>   DEFAULT $CVSROOT/CVSROOT/foo $USER %s
>
> The Perl CVSROOT/foo script, however, shows different values for
> $ARGV[0] (the $USER above) and $ENV{"USER"} (the actual environment).
> The former is the remote (client) username I want, whilst the
> latter is the local (server) username.
>
> It looks as though whatever does the expansion of $USER is using
> an internal table, not the environment, since the admin-file
> expansion of $USER differs from the value in the environment table.
>
> I haven't yet gone to the sources to track this down; it's with CVS
> 1.10.2.  Can anyone else confirm/deny the behaviour I'm seeing?
> Am I nuts, or missing something obvious?  Or is there really an
> overloading of the variable named USER?

There is indeed overloading of the USER variable.  From memory this is 
documented in Cederqvist, but I can't remember where.  This caught me for a 
while as well (I went as far as creating a patch to fix this behaviour)!

***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)





RE: Trouble making a connection to a CVS server

2000-04-11 Thread Chris Cameron

On Wednesday, April 12, 2000 12:54 AM, Jay Corrales 
[SMTP:[EMAIL PROTECTED]] wrote:
> Hello,
> I am having no luck connecting the cvs client to the server. The cvs 
server
> gets kicked off by the internet daemon on our SunOS 5.7(=? Solaris 2.7)
> while servicing port 2401 requests. I check the process list and see the
> following line:
>
> solaris2% ps -efl | grep cvs
>  8 S root 16263   155  0  41 20?278? 05:24:59 ?
> 0:00 cvs -td /usr/local/cvsroot --allow--root=/usr/local/cvsroot pserver
>
> However the client never passes the authentication state. For example if 
I
> try:
>
> telnet solaris2 2401
>
> After connecting, I send any text (for example "foo" followed by return).
> CVS does not respond at all; instead the telnet session hangs without
> feedback.
>
> solaris2% cvs -version
> Concurrent Versions System (CVS) 1.10 `Halibut' (client/server)
> ...
> solaris2% cat config
> # Set this to "no" if pserver shouldn't check system users/passwords
> #SystemAuth=no
>
> # Set `PreservePermissions' to `yes' to save file status information
> # in the repository.
> #PreservePermissions=no
>
> # Set `TopLevelAdmin' to `yes' to create a CVS directory at the top
> # level of the new working directory when using the `cvs checkout'
> # command.
> #TopLevelAdmin=no
> solaris2%
>
Are you running the pserver as root or another user (in the inetd.conf 
file)?  Solaris uses a shadow file to store passwords and only root has 
read access (by default) to this file.  So if pserver is running as root 
and SystemAuth=yes (the default) everything works fine.  But if pserver is 
running as another user, it cannot read the shadow file and therefore 
cannot authenticate the password.  In this case, you have to create a 
password file in CVSROOT.


***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)





RE: CVS Question

2000-03-21 Thread Chris Cameron

On Wednesday, March 22, 2000 6:40 AM, Russell A Hoffman 
[SMTP:[EMAIL PROTECTED]] wrote:
> Hi, I was wondering if anyone could help me out with a CVS question I 
had?
> Well, what I'm trying to do is manage a fairly large website using CVS.
> I've managed to successfully import and test checking it out (can you 
tell
> I'm a newbie? :), but now I'm wondering what to do to keep the original
> website files up to date.  For instance, the repository is in
> /cvsroot/html, and the original files are in /home/httpd/html, and I'm
> wondering how to keep the original files "in-sync" with the cvs (updated)
> version?  I'm probably not wording it right, or not explaining it
> correctly, but I'm just hoping someone out there will be able to decipher
> what I'm trying to say, and let me know if/how this can be done ;)
>
This is described by cederqvist in the loginfo section.  I posted the 
excerpt from our loginfo file that does this job last week (from memory).


***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)





RE: CVS server access over the Internet

2000-03-19 Thread Chris Cameron

On Monday, March 20, 2000 3:08 PM, Keogh, Greg, HiServ/AU 
[SMTP:[EMAIL PROTECTED]] wrote:
> Hello from Melbourne Australia,
>
> Our new United Kingdom development group using WinCVS 1.0.6 is getting 
the
> login error 'Unknown host techssna' (that's the name of our Solaris 
server
> down here). We know they can access techssna via telnet and ping, so 
we're
> puzzled where the 'Unknown host' message is coming from.
>
> I don't want to bother this group with our networking problems ... Here's 
my
> real question:
>
> We know it's fine to use CVS on a LAN, as we do in our Melbourne office, 
but
> is it valid to try and access a CVS server across the Internet? I just 
want
> to check that we're not trying to do something conceptually wrong or
> impossible with CVS.
>
> I'm not a networking person, but I was under the impression that there 
would
> be no distinction between using CVS over a LAN or over the Internet, so 
long
> as the routing and security is setup correctly or course.
>
Yes it is technically possible, we are currently establishing the same via 
a WAN, rather than internet.  I'd suggest that it is your network that 
needs to be tidied up.  I don't know what access mechanism you are using, 
but whatever it is, you need to make sure that it is open at your fire 
walls.


***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)




RE: Writing shell scripts that use CVS / Automatic checkout

2000-03-14 Thread Chris Cameron

On Wednesday, March 15, 2000 3:18 AM, Mikael Grave 
[SMTP:[EMAIL PROTECTED]] wrote:
> Hello,
>
> I am currently writing a small Shell script that will log into my CVS
> respository and will issue a checkout. This script is intended to be
> called every 10mn by a crontab.
>
> Since "cvs login" does not have a command line option to pass the
> password, I was wondering if there is a simple trick to run "cvs login"
> automatically? I have tried things like:
>
> echo "x" | cvs login
>
> But it does not work (the password is not taken from the buffered stdin
> I guess).
>

You only need to login once.  After that the password is stored in a 
lightly encrypted format in your home directory.  So if you do a manual 
login, you shouldn't have to worry about it again.

> My original purpose was to perform an automatic checkout (in a test bed)
> every time someone was doing a commit. Doing this with "commitinfo" did
> not seem possible since "cvs commit" recursively commit all modified
> files, if 100 files are commited at once, I don't want commitinfo to
> launch 100 checkouts (maybe should I simply run one "update" per
> "committed" file?). So I decided to go for a crontab (not as good, user
> may have to wait 10mn to see their changes published in the test bed).
>
> Any help or trick are welcome. I guess my problem is quite common. Hope
> my questions are not too stupid :)
>
Well, the other way to do things, as described in cederqvist, is to use 
loginfo, not commitinfo.

loginfo only runs after the commit succeeds and cederqvist gives an example 
of how to use it for an automated checkout.  In our loginfo file we have 
the following line to do this (excuse any mailer wrapping, this should be 
on one line):

WWW/* ($CVSROOT/CVSROOT/cvslog.sh ${USER} ALL %{};(cd /WWW ; sleep 5; echo 
`pwd` Updated by ${USER}-`date` ; /usr/local/bin/cvs -nq update -d ;echo 
- ; /usr/local/bin/cvs -q update -d ;echo 
=====)>>$CVSROOT/CVSROOT/LOGS/WWW_update.log 
2>&1 &)

***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)




RE: Unix to Dos filtering

2000-03-09 Thread Chris Cameron

On Friday, March 10, 2000 11:33 AM, Karen Baldwin 
[SMTP:[EMAIL PROTECTED]] wrote:
> Hi; just discovered this group.  Help!
> I have a question very similar to that first asked within this thread.
>
> We've been using CVS exclusively on Solaris/Unix
> until now.  We are now porting to NT.  We intend to have a single source
> repository on a Solaris machine, which will be accessed by users on
> BOTH the
> NT and Solaris nodes.  We'll be using Samba as the cross-platform file
> access
> mechanism.
>
> Until now I speculated that maybe the proper thing to do is to
> employ the cvswrappers file.  specifically, using the -f option to
> invoke
> 'unix2dos' when a checkout is performed from the NT side, and to invoke
> 'dos2unix' when a checkin is performed from the NT side.  When a
> checkin/checkout is done from the Unix side, we'd (somehow?) preclude
> those
> utilities from being run.
>
> Is this unrealistic?  Is this a naive approach, doomed to failure?
> Is there a preferred approach that's been found to work by others
> who've 'been there' already?
I think the historical consensus for this scenario is to use CVS in a 
client/server mode and let the client sort out line terminations.  We use 
WinCVS as a Windows/NT front end and CVS in pserver mode on our Unix 
server.


***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)




RE: Modules Question

2000-03-08 Thread Chris Cameron

On Thursday, March 09, 2000 4:54 AM, Chris Hirsch 
 [SMTP:[EMAIL PROTECTED]] wrote:
> Hey All...
>
> I'm trying to set up a modules file for my project and I'm confused. 
First
> of all is there any place I can go to get real-world info, tips, tricks,
> etc on setting up module files?
>
> My question is this. I have a project that I want to be able to check out
> either in its whole or check out various sub-modules instead.
>
> Here is how its laid out (any other suggestions for this are more than
> welcome):
>
> /src
>/pages
>/tsd
>/src
>/inc
>   /pages
>   /tsd
>
> My goal is if you check out a sub-module, say tsd then you will get a
> simlar structure of /src/tsd and /src/inc/tsd but if you check out other
> modules too it will fit nicely and just add it to the /src structure. 
Like
> above. My problem is that for the life of me I can't figure out how to do
> a modules file for this or if its even possible or feasable. Any
> suggestions or recommendations you have would be GREATLY appriceated!
>
> BTW this is sort of what my modules file is looking like:
>
> Src -d src src/src
> Inc -d inc src/inc
> src &Src &Inc
>
> PagesSrc -d pages src/pages
> PagesInc -d inc/pages src/inc/pages
> pages &PagesSrc  &PagesInc
>
> IOS &src &pages
>
We've found that the trick to doing this correctly is to include a -d on 
the ampersand modules, and include another level of indirection.

So your modules would look something like:
_src -d src src/src
_inc -d inc src/inc
_pages_src -d pages src/pages
_pages_inc -d inc/pages src/inc/pages
_tsd -d tsc src/tsc
project -d project &_src &_inc &_tsd &_pages_src
project_src -d project &_src
project_inc -d project &_inc
project_tsd -d project &_tsd
project_pages -d project &_pages_src &_pages_inc

Only modules without the _ at the start are publicly notified modules.
This will give a checked out structure of
project/src
project/inc
project/pages
project/inc/pages

BUT you must check out the project_pages AFTER you have checked out 
something into inc, otherwise CVS will record a Repository of Emptydir for 
inc and you will then not be able to check out files to inc!

***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)




RE: How do I do "cvs rtag" for an ampersand module?

2000-03-06 Thread Chris Cameron

On Tuesday, March 07, 2000 12:24 PM, Karr, David 
[SMTP:[EMAIL PROTECTED]] wrote:
> I work with two different applications in CVS.  One has a module
> specification that uses aliases to specify several subsystems.  The other
> uses the "ampersand" rule.  So when I do a checkout of the first system,
> that just creates subdirectories in the current directory to represent 
the
> various subsystems.  When I do a checkout of the second system, that 
creates
> a top-level directory in the current directory, and creates 
subdirectories
> in that directory.
>
> For example purposes, call the first system "foo" and the second system
> "bar".  There are subdirectories "foo1", "foo2", "foo3", "bar1", "bar2", 
and
> "bar3".  The modules file entries for these might look like this:
>
> ---
> # Foo system
> foo1 -d foo1 some/complex/path
> foo2 -d foo2 some/other/complex/path
> foo3 -d foo3 some/where/else
> foo -a foo1 foo2 foo3
>
> # Bar system
> bar1 -d bar1 some/miscellaneous/place
> bar2 -d bar2 some/other/strange/place
> bar3 -d bar3 some/place/else
> bar &bar1 &bar2 &bar3
> 
>
> We've been using "cvs rtag" to make version tags for the first system, 
and
> I'm just starting to set up version tags for the second system.  For the
> first system, we do "cvs rtag FOOKIT_01 foo".  This works fine.
>
> For the second system, I tried " cvs rtag BARKIT_01 bar", and it gave me 
the
> following:
>
> cvs server: cannot make path to bar: Permission denied
> cvs server: cannot chdir to bar: No such file or directory
>
> What am I doing wrong, or what information do I need to track this down?
>
In my experience you can't use rtag with ampersand modules as rtag 'acts 
directly on the repository' and there is no direct mapping that rtag can 
interpret.  We solve this problem by checking out the head of bar and using 
tag on that.

***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)




RE: new guy - hopefully easy questions

2000-03-05 Thread Chris Cameron

On Friday, March 03, 2000 12:41 PM, Michael R. Salazar 
[SMTP:[EMAIL PROTECTED]] wrote:
> Dear CVS listers,
>
> I'm a new user of CVS and I have, what I hope, are easy questions.
> I have a rather large code that multiple users will be editing.  Each
> user will need the entire code for their improvements.  So, branching
> seems to make sense in this situation.  My ideas are:
>
> 1.Have a centralized repository where each user can branch out of
> and create their own repository with the whole code in it.
>

Why do you want to do this?  Why couldn't each user (if this is really 
necessary) have their own branch inside the one repository?  Or is your 
definition of repository different to everyone elses, and this is what you 
are trying to do.

> 2.After the individuals make their improvements, then they may
> update the centralized repository.
>

If each user has a branch, then they could merge the changes into the main 
trunk.

> I don't want a repository that each user has access to and is being
> updated often by the individual users, because each user needs the whole
> code and this senario seems that it would create alot more problems with
> users attempting to commit their improvements while other users have
> checkout earlier editions.  Thus, if each user had their own repository
> and checkout and commited as necessary, this wouldn't be a problem.  The
> problem will come when the users attempt to update the centralized
> repository, but this won't be that often.  Does this make sense?  If so,
> please help with the following:
>

How will you resolve the issue of one person's changes altering the 
behaviour of common material so that everyone else should get the updated 
files?  By using the concurrent mode of operation (without everyone on 
separate branches), using good communicaiton between workers (e.g. cvs 
watch) and frequent updates, you can get everyone to work together as a 
team on one repository.

> 1.What are the commands for creating branches out of a repository?
>

You create a branch with a 'tag -b' command and then check it out with a 
'co -r' command

> 2.How does one update a repository with another repository?
>

Can't do this, but I suspect it is not what you really want to do.

> As you all can probably tell by these questons, don't assume too much in
> your answers.  If possible, please provide the necessary commands and a
> brief description.  The architecture on which I am running is SGI Irix
> 6.5.  I'm using CVS version 1.9
What is the problem you are trying to solve?  It seems that you have 
decided 'how to skin the cat' and now want some assistance.  If you 
describe the problem you have, people may be able to offer alternative 
means of 'skinning the cat' which fit in with the way CVS works.

As other people have suggested, upgrade to 1.10.8

***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)




RE: running CVS as root or not?

2000-02-29 Thread Chris Cameron

On Tuesday, February 29, 2000 7:49 PM, [EMAIL PROTECTED] 
[SMTP:[EMAIL PROTECTED]] wrote:
>
>
> Hi!
>
> I am using CVS 1.10 with pserver on AIX 4.3
>
> The system administrator at my site prefers not to run cvs as root.
> In /etc/inetd.conf
> we got
>
> "cvspserver stream tcp nowait cvsowner /usr/local/bin/cvs cvs
> --allow-root=/usr/local/newrepos pserver"
>
> note the use of "cvsowner" instead of "root".
>
> What are the pro/cons of running CVS as root/a user account?
> The repository is owned by the "cvsowner" user.
>
>From my experience of doing the same thing there are three things to be 
aware of:
1. if you are not running as root, the system passwords cannot be accessed 
(if they are in a shadow file and I assume from what I have seen here that 
AIX is similar).  This means that you have to create a CVSROOT/passwd file 
which should NOT be under CVS control.
2. once you use a CVSROOT/passwd file, the required format changes between 
1.10 and 1.10.7 (I'm not sure which version changed the format).  The 
format you will need to use is:
user:password:cvsowner
3. once you are running as cvsowner, any loginfo, commitinfo or taginfo 
scripts may need to be modified to take the $USER cvs variable as the 'id' 
and 'whoami' commands will return cvsowner.

Those are the only issues I am aware of.  We also set the repository 
permissions to 2755.

***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)




RE: Using CVS for a website

2000-02-28 Thread Chris Cameron

On Tuesday, February 29, 2000 4:39 AM, Ben Leibig [SMTP:[EMAIL PROTECTED]] 
wrote:
> Which manual, can you point me to a URL?
> 
> On Fri, 25 Feb 2000, Noel L Yap wrote:
> 
> > There's an example of this in the manual.  The gist is to use a loginfo script
> > to do the checkout.  Be sure to do the checkout in the background so the script
> > doesn't deadlock.
> > 
The one that comes with CVS!  It is in the documentation directory as either 
postscript or texinfo.


*******
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)




RE: newbie question: help someone!

2000-02-28 Thread Chris Cameron

On Tuesday, February 29, 2000 4:14 AM, [EMAIL PROTECTED] 
[SMTP:[EMAIL PROTECTED]] wrote:
> I keep getting the following error when I try to commit a file:
>
>  cvs commit write_shared_memory.c
> Warning: cannot open display
> cvs [commit aborted]: Logfile verification failed
>
> Whats wrong? and how can I fix this?
Someone has configured your repository with a loginfo script which is 
trying to open an X windows session somewhere and failing.  I'd suggest you 
contact your repository administrator.  If this is you, contact your 
predecessor and look in CVSROOT/loginfo or CVSROOT/commitinfo for some 
scripts to do some tricky things.


*******
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)




RE: Import revision number question

2000-02-27 Thread Chris Cameron

On Monday, February 28, 2000 3:20 AM, Henrik Wahlberg 
[SMTP:[EMAIL PROTECTED]] wrote:
> If I use this command to initially check in a directory tree:
> CVS import -d -m "V301 Import" HHO hw V301
>
> All the files on checkout appear vith a revision number of 1.1.1.1
>
> How do I get it to be 1.1, or in other words, not calling this for a 
branch on a nonexisting root?
>
The revision 1.1.1.1 is a special 'magic' version created as an artifact of 
your import.  When you check out these files and commit, they will 
automatically be made revision 1.2.  Normally in CVS you can ignore the 
internal revision numbers.


***********
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)




RE: Why does CVS treat removed files so specially?

2000-02-21 Thread Chris Cameron

On Saturday, February 19, 2000 5:41 AM, Greg A. Woods 
[SMTP:[EMAIL PROTECTED]] wrote:
> [ On Friday, February 18, 2000 at 17:58:35 (+1300), Chris Cameron wrote: 
]
> > Is this a bug?  A tag -F will move an existing tag, maybe it should 
check
> > in the Attic and remove the tag from any files which contain the tag?
>
> That's a good idea!  I.e. if the tag exists (on the current branch?) in a
> removed file (i.e. removed on the current branch), then the tag sould be
> removed too if the tag would be moved to the head.  That does mean not
> removing the tag unless either '-f' was specified or a removed file was
> explicitly specified on the command-line.
>
> This fix might even be a sufficient solution to Dave's problem too!
>
 I'd like to propose that the behaviour be implemented only for a move or 
delete of a tag WHERE files are not specified (i.e. cvs tag -d or cvs tag 
-f NOT on cvs tag -f file.c).  In these cases, the tag operation should 
check through the Attic for any files containing the specified tag and 
remove it.  My argument for doing this is that if you are moving a tag, or 
deleting a tag, any files which have been removed from the current 
directory should have the tag removed, otherwise it is not possible to do a 
cvs co -r xxx yyy and get exactly what you tagged as you could get some 
Attic files as well.

Any feedback would be appreciated, otherwise I'll start looking at the code 
involved.


***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)




RE: Why does CVS treat removed files so specially?

2000-02-20 Thread Chris Cameron

On Saturday, February 19, 2000 6:32 AM, |}avid (opeland 
[SMTP:[EMAIL PROTECTED]] wrote:
> Not to continue to harp, but:
>
> > No, you're not exactly right and what you're missing is perhaps a
> > critical facet that will help your understanding of this issue.  "We"
> > (i.e. CVS) define tagging to mean which revisions of which files are to
> > be grouped together (perhaps for a release, or to mark a milestone,
> > etc.).  I.e. the two go together: revisions + files.
> YES.  I consider the removal of a file as a new revision of that file. 
 So does
> CVS.  I simply want it to apply to concept of tagging, stat, and log to 
the
> head revision of removed files just as it does to non-removed files.  In 
other
> words, removing a file is NOT a special case.
>
> As explained in my previous email, removing the tag does not work and I
> actually DO want to tag the removed version.  This allows me to use CVS 
to
> support our workflow and development process.
>
> We are NOT doing multiple lines of development, but enacting a process 
WORKFLOW
> which says that files are in a different state at different times. 
 Whether or
> not the file is present or not doesn't (and shouldn't) matter.
>

If a file is removed how can it be in any state?  If I understand you 
correctly, you want to preverve the state of the files and are using the 
tag for this.  Have you looked at the state parameter for this?  Then you 
can have a single tag (e.g. release-1-2) and change the state to indicate 
where the file(s) are.  This is discussed in Cederqvist.

> (To recap, I have a moving tag that I use to indicate which revision of a 
file
> is in which state of workflow).  So, if have dev/stage/live tags, and the 
dead
> revision is tagged as dev and as stage, but the previous (non-dead) 
revision is
> tagged as live, that is the state where the client is approving a change 
that
> involves REMOVAL of that file.
>
> If I had removed the tags, as you suggest, the file would be removed from 
live,
> and this does not support our process.
>

Now I'm confused.  You say that you want to remove the file (presumably so 
that it is no longer a current 'live' file) and then say that if you remove 
the tag "the file would be removed from live, and this does not support our 
process".  So what do you want to do with the removed file.  You don't want 
it to be shown in your HTML tree, but you don't want it removed.

> > >  I find it hard to believe that the
> > > implementors INTENDED to have cvs commits not affect removed files.
> >
> > Now I'm really confused.  A moment ago you were talking about tags. 
 Now
> > you you say "commits".
>
> I meant to say "cvs commands".  My bad.
>
> > Actually if there is a tag then yes the removed file might be checked
> > out or exported at the wrong time.  You definitely do not want to ever
> > tag "dead" revisions -- doing so puts the repository into an undefined
> > state and no guarantees can be made about what might happen as a res  
ult.
> Not that I've seen.  It seems to work exactly as I want it to.  It's just 
that
> to tag the dead revision, I have to run a different command than I do to 
tag a
> non-dead revision.  This is inconsistent and I see no need for it.
>
> > I think your understanding of the temporal structure of the repository
> > is not quite up to speed yet.  Once/if you understand how CVS works 
across
> > time perhaps you'll understand why "dead" revisions can never be 
tagged.
>
> I'm not sure why you insist that dead revisions "cannot" be tagged and 
that
> doing so will put the repository in an "unstable" state.  I have 
empiricly seen
> that this is not so.
CVS uses the Attic to retrieve tags from previous (historical) versions. 
 The head of the main trunk is only the files in the main directory.  The 
only time you will work on files in the Attic is when you extract a 
historical tag, or you are working on a branch and create a file which only 
exists on the branch (in this case the file is kept in the Attic and dead 
on the trunk).  Dead revisions contain tags which were created before the 
file was labelled as dead, in order to allow the recreation of a previous 
tag of the directory.  Any tags you place in the main directory and 
manually on a dead revision will cause the files in the main directory AND 
the Attic to be delivered to you when you do a 'cvs co -r live'.  Is this 
what you want or do you only want the files in the main directory?


***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)




RE: Why does CVS treat removed files so specially?

2000-02-17 Thread Chris Cameron

On Friday, February 18, 2000 3:53 PM, |}avid (opeland 
[SMTP:[EMAIL PROTECTED]] wrote:
> The difference I have is subtle.
>
> Most everyone on the list defines tagging a file as indicating which 
files you
> want to group into a release.
>
> I define tagging a file as indicating which revisions of files you want 
to
> group into a release.  By tagging a dead revision, I am saying "Include 
the
> removal of this file into the next release".  Since my files are HTML 
pages and
> images, this makes sense.  For source code, it doesn't so much, and I 
think
> that is everyone's problem with it.

I think everyone is in violent agreement with you, except that a removed 
file is no longer in the revision.

If you check out a tag, you get only the tagged files.  If you remove a 
file there is no 'revision of files you want to group into a release'.  You 
removed it.  Therefore you don't want to group it into a release.

I see that you are trying to automate the update of a set of html pages and 
your automated script says to check out the 'live' tag.  Your problem is 
that moving the 'live' tag doesn't move the tag on the dead files.

Is this a bug?  A tag -F will move an existing tag, maybe it should check 
in the Attic and remove the tag from any files which contain the tag?

With this functionality, I believe your problem would be solved.  I may 
look at this next week, if I have time!

***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)




RE: cvsignore problem

2000-02-17 Thread Chris Cameron

On Friday, February 18, 2000 5:30 AM, Jiann-Ming Su [SMTP:[EMAIL PROTECTED]] 
wrote:
> I'm getting the following message when I try to checkout:
>
> cvs server: cannot open /root/.cvsignore: Permission denied
> cvs [server aborted]: can't chdir(/root): Permission denied
>
> The obvious question is why is it searching in /root?  I do not
> have any environment variables for CVS set to /root.  Sorry if
> this is FAQ, but I couldn't find it in the FAQ or the web site.
> Thanks for any help.
This seems to be a common question lately.  You are apparently using Linux 
and this OS sets the $HOME environment variable for processes spawned by 
inetd.  If you search the archives for this list you should find some 
suggestions as to how to deal with the problem.

Should this question be added to the Faq-o-matic and/or manuals?


*******
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)




RE: Configuring WinCVS

2000-02-17 Thread Chris Cameron

On Thursday, February 17, 2000 5:42 PM, Animesh  Das 
[SMTP:[EMAIL PROTECTED]] wrote:
> Hello all,
>
> We have a single server stores the CVS items for our project(A)
> as well as another(B). Project B is already using WinCVS as the
> front end. We too decided to use WinCVS for project A. But we found
> some problem. In the server's /etc/inetd.conf file, a line (containing
> settings) is added to make project B settings in the server. When we
> try to add another line for project A, it gives problem. Is it so that,
> only one project can use WinCVS from one server?
You obviously aren't familiar with Unix/Linux.  Project A and Project B 
settings must be on the same line in inetd.conf.  You need to specify 
multiple --allow-root settings in the entry, as described in Cederqvist.


***********
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)




RE: Why does CVS treat removed files so specially?

2000-02-16 Thread Chris Cameron

On Thursday, February 17, 2000 2:49 PM, |}avid (opeland 
[SMTP:[EMAIL PROTECTED]] wrote:
> Essentially, I am version controlling a website.  As such files, assets, 
etc.
> get added and removed.  On our live site, all files are checked out with 
the
> tag 'live'.
>

So you are using a constant 'sliding' tag to mark the stable point of the 
web site.

Have you tried the following sequence
remove the live tag
remove dead files
add the live tag

Or do you have to have a constant tag?  On our intranet we use the main 
trunk as the stable version.  We make changes on a branch and merge them to 
the trunk when they are stable.  The 'auto update' script in loginfo then 
does a 'cvs update' in our intranet directory to 'activate' the changes.

In short, I think that a reconsideration of your needs may give you a model 
which fits in with CVS's functionality (and give you a better process, e.g. 
how do you know what version was the LAST stable version?)


*******
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)




RE: Why does CVS treat removed files so specially?

2000-02-16 Thread Chris Cameron

On Thursday, February 17, 2000 11:43 AM, |}avid (opeland 
[SMTP:[EMAIL PROTECTED]] wrote:
> Why does CVS treat removed files in such a special way?  To be more 
specific,
> consider the following example:
>
> > ls
> CVS/
> blah.c
> main.c
> blah.h
>
> > cvs tag -F some_tag
> T blah.c
> T main.c
> T blah.h
>
> [ make changes in blah.c ]
> [ make changes in blah.h ]
>
> > cvs remove -f main.c
> > cvs commit -m ''
> 1.2 <--- blah.c
> 1.2 <--- main.c
> 1.2 <--- blah.h
>
> > cvs tag -F some_tag
> T blah.c
> T blah.h
>
> Note that main.c DOES NOT get tagged.  Even if you 'cvs tag -F some_tag 
main.c'
> it does not get tagged.  You can ONLY tag the new (dead) revision, via
> 'cvs tag -r 1.2 main.c', which is cumbersome, because not all files in a 
source
> tree are on the same revision.  You can also do 'cvs tag -r HEAD main.c', 
but
> this doesn't have the correct behaviour on a branch.
>

Sorry, I'm a bit confused why do you want the removed file tagged?  It no 
longer exists!  It isn't part of some_tag because you removed it.  The 
point of tags is to be able to recreate your source tree as at a particular 
point in time.  If you remove a file it is no longer part of the tree, 
therefore you don't need it.  If you still need it don't remove it and all 
will work correctly.

Internally CVS will place the file into the Attic.  That way any tags which 
included the file can still be checked out, but this file is no longer a 
default file for that directory.

> also, doing commands like 'cvs log' and 'cvs stat' (with no file 
arguments) do
> not produce output for removed files.
>

It is removed, why should the log and stat still care about it?

A diff with the previous tag will show that it is gone and the log message 
should record why it was removed, so a future developer can understand what 
happened.  If you add main.c again in the future, the Attic version will be 
resurrected and all your revision history from before the rm will be 
restored.

> This makes it extremely difficult to do ANYTHING in batch mode with CVS 
and I
> can think of no explanation for it (other than convienience while coding 
CVS
> features/throwback to RCS).
>

What types of things in batch mode?

> Can anyone think of a reason why CVS behaves this way and if others think 
this
> actually a bug?
>

AFAIK that is the way it is designed to work.  I haven't seen any other 
complaints.  It is quite logical to me!

> At the very least there should be an option to cvs that says "Run the 
command
> on removed/dead revisions"
>

That is a possible option, but why?


***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)




RE: CVS File Locking

2000-02-15 Thread Chris Cameron

On Wednesday, February 16, 2000 7:52 AM, Greg A. Woods 
[SMTP:[EMAIL PROTECTED]] wrote:
> [ On Tuesday, February 15, 2000 at 09:56:42 (-0600), David Thornley 
wrote: ]
> > Subject: Re: CVS File Locking
> >
> > I don't believe it is designed to do that.  It's freely available
> > open-source software, and I've never met anybody in the community
> > that wanted to force somebody to do development in one specific
> > way before.  You may want it to do that, but that's a different
> > statement.
>
> The fact that CVS was indeed designed to force concurrent development
> been discussed in detail on this list and is clearly evident both in the
> original CVS-I scripts and documentation, as well as in Brian Berliner's
> paper.  You can believe what you will, but those are the facts.
>
> > Besides, there are things that cannot be developed concurrently,
> > since they are unmergeable, for good reasons or bad.
>
> CVS is not designed to work with un-mergable files.  Period.
>
> If you want to add more merging support to CVS (i.e. to diff3) for
> different types of files then that's an entirely different story than
> advocating locks.  The former is entirely within the design goals of
> CVS but the latter is entirely without.
>
> >  These have
> > to have some form of lock.  (From experience, I think "cvs watch on/
> > cvs edit" is adequate locking, and hard locks would be no better
> > in practice.  Others have different opinions.)  I assume it is your
> > position that CVS should not be used in such cases.
>
> No, they do not.  For those very few files for which a merging algorithm
> cannot be developed "cvs edit" and friends are far *MORE* than
> sufficient for *ALL* purposes CVS should ever be put to use for.  Even
> they are over-kill in my opinion.
>
I've been trying to stay out of this debate, but haven't you (Greg) just 
jumped on someone who argued your point of view?

David said "From experience, I think "cvs watch on/cvs edit" is adequate 
locking, and hard locks would be no better in practice.  Others have 
different opinions"

Then Greg said "No, they do not" and then went on to agree with David ("For 
those very few files for which a merging algorithm cannot be developed "cvs 
edit" and friends are far *MORE* than sufficient for *ALL* purposes CVS 
should ever be put to use for").  Aren't you in VIOLENT agreement here?

It may not be possible, but can people climb down from their lofty peaks 
and talk rationally about this.  I'm trying to follow everything, but the 
flame-war seems to be overtaking any rational debate.


***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)




RE: symbolic links in repository?

2000-02-15 Thread Chris Cameron

On Wednesday, February 16, 2000 5:48 AM, [EMAIL PROTECTED] [SMTP:[EMAIL PROTECTED]] wrote:
> Are there any gotchas in adding symbolic links to a CVS repository
> file structure?  I'm trying to set up cvs for Java development, and
> I'd like a structure like the following:
> snip
> 
> Will cvs freak out if the same directory/,v files are commited or
> locked by users accessing them from different symbolic link
> directories?  (Different Root, same ,v)
>

With CVS 1.10, symbolic links function correctly in the repository.  There were 
problems on earlier versions.
 
> 
> 
> (EXPLANATION:
> 
> I'd like to use symbolic links because I'm more comfortable setting up
> the repository once, so that a single checkout gets all necessary
> files, rather than what I'm presently doing, which is
> 
>   cvs checkout projects/NiceServlet
>   cd NiceServlet
>   cvs checkout core/com
> 
> which is also fine, and I know it works, but you have to do it for
> every subdirectory (I'm using several different Java packages), so it
> turns into
> 
>   mkdir com
>   cd com
>   mkdir purpletech
>   cd purpletech
>   cvs checkout core/com/purpletech/utils
>   cvs checkout core/com/purpletech/servlets
>   cd ..
>   mkdir othercompany
>   cd othercompany
>   cvs checkout othercompany/com/othercompany
> 
> which is a big pain in the neck.)

Why not use nested/composite modules in the modules file?

Then you could have a modules file like:
_corecom-d core/com core/com
_NiceServelet -d . projects/NiceServelet
_OtherJava-d Other  projects/OtherJava

NiceServelet -d NiceServelet &_NiceServelet &_corecom
OtherJava -d OtherJava &_OtherJava &_corecom

Now checking out Nice Servelet will give you:
NiceServelet/
NiceServelet/core/com

This may not be quite what you want, but you should get the idea from this.

***
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)




RE: Enhancement suggestion

2000-02-15 Thread Chris Cameron

On Wednesday, February 16, 2000 2:21 AM, Jan Serak [SMTP:[EMAIL PROTECTED]] wrote:
> But I imagine a new kflag (not compatible to RCS but useful for files
> that cannot be changed in length by CVS), e. g. -kvp (to express our
> goal to refuse migration from CVS to PVCS ;-)
> Checking in and out of file with -kvp flag would:
>
> * NOT expand $Keyword$
> * expanding $Keyword: Value $ count length of the old Value and
> cut the new one (if longer than) to the length or right pad it
> with spaces (if shorter than).
>

Aren't these exclusive?  Or do you mean
If Keyword is NOT expanded, do not expand
But if Keyword is expanded keep the same string length.

Are you sure the tool only checks for length and not content as well?
 
> There is the user responsibility to reserve enough space for possible
> growth of the value of keyword.
> 
> And here are the base questions: should I do thing described above?
> Can this be useful for anybody else? Is there an interest to this
> new functionality? Other comments to my idea?

The -ko and -kb do this type of thing with slight differences.

-ko will generate the existing keyword expansion and not re-expand
-kb will work as -ko and prevent line feed conversion.

***********
Chris CameronOpen Telecommunications NZ Ltd
Software Development Team Leader
[EMAIL PROTECTED]   P.O.Box 10-388
  +64 4 495 8403 (DDI)  The Terrace
fax:  +64 4 495 8419 Wellington
cell: +64 21 650 680New Zealand
Life, don't talk to me about life (Marvin - HHGTTG)