RE: .trunk patch refinement

2000-06-20 Thread J. Cone

If they've migrated from sccs, this will have been done for them :-)

At 05:01 PM 6/19/00 -0400, Greg A. Woods wrote:
snip
However people should *not* ever be doing such silly things -- there are
more corner cases than just this one whre they can get into trouble!
snip




Re: .trunk patch refinement

2000-06-20 Thread Eivind Eklund

On Mon, Jun 19, 2000 at 05:13:10PM -0500, David Thornley wrote:
 Mike Little referred to "some previous cvs admin", and this is
 precisely what happened in my case.  Some previous CVS admin
 put some of the rev numbers to 2.x, and there's no way I can put
 them back to 1.x.

You could probably do this using CVSFile
(http://people.freebsd.org/~eivind/CVSFile-0.2.tar.gz) and a small perl
script.  This would, of course, invalidate any workspaces (checked out
copies of the source) presently active.

Note that I have not tested CVSFile with repositories that contain 2.x
versions, and there may be bugs in CVSFile related to using such
repositories - though as long as you don't directly overwrite your original
repository, there should be no chance of data corruption.

CVSFile lacks documentation - sorry about that.

Eivind.




WinCVS bug? Tcl script looking up locked files

2000-06-20 Thread Hans Schmid

Hi all,

I am pretty new to WinCVS so please forgive me, if I have overlooked
something obvious.
I want to write a Tcl/Tk script to check, if files are locked by someone
(puting out only one line per file)

Is there a script around, that I can use ?


WinCVS 1.1b14 comes with a SelectionTest.tcl script, which seems to fullfil
my requirements.

Unfortunately the following statement does always return 1 (file locked)
even on unlocked files

...  loop over files

cvsbrowser info $file fileInfo
cvsout "-- Locked :   " $fileInfo(locked) "\n"   -- always 1, even
for not locked files

Is this a bug in cvsbrowser ?
What is this cvsbrowser ?

Please can someone direct me in the right direction.

Thanks and best Regards,
Hans




Re: .trunk patch refinement

2000-06-20 Thread John Macdonald

Russ Allbery wrote :
|| David Thornley [EMAIL PROTECTED] writes:
|| 
||  Either way, any technique that assumes that all main trunk development
||  is on rev numbers 1.* is useless to me, and probably to quite a few
||  people.
|| 
|| And it's quite possible to get into that state without any misuse of CVS
|| at any point.  It's worth remembering that a lot of us are using CVS
|| repositories formed from imported RCS files, and using different rev
|| numbers with RCS is extremely common.

The sccs2rcs script in contrib retains such version numbers when it
converts - many of my cvs managed files have version numbers greater
than 1 because of this.

With sccs, if you use -r9 (or -r99 or -r, whatever number of
nines is needed to guarantee that it is bigger than the version
number of any file being managed) it is the same as if you had used
the current version for each file.  I recall hearing that this
doesn't work for rcs, but fixing whatever problem there is with this
would make -r9 a workable approach.  But making .trunk work is a
better approach.

-- 
Sleep should not be used as a substitute| John Macdonald
for high levels of caffeine  -- FPhlyer |   [EMAIL PROTECTED]




Re: .trunk patch refinement

2000-06-20 Thread David Thornley

"Greg A. Woods" wrote:
 
 [ On Monday, June 19, 2000 at 17:13:10 (-0500), David Thornley wrote: ]
  Subject: Re: ".trunk" patch refinement
 
  Since it's a very natural thing to do, lots of people have done
  it.  It's easy (and correct) to say they should not have done
  that, but the important fact is that it has been done.
 
 However the important thing now is to continue to deprecate that
 practice.

Certainly.  This does nothing to fix any existing problem.  Nor does
it help if somebody imports RCS files that have 2.x or higher rev
numbers.

  That includes removing the instructions for doing it from the
 manual (and replacing them with dire warnings against doing it), and
 most definitely not adding new code that's expressly designed to handle
 only one of the corner cases that this sillyness introduces.
 
Um, why not?  And what are the other corner cases?  If you use the
rev number like a cookie, what problems are likely to result?

In any case, one of the things we keep saying is never to use the
rev numbers, and so you're claiming that the proper way to reference
the head is to use the rev numbers?  That looks like a kludge to me.

So, since a kludge works on repositories that have never had a
certain mistaken operation done to them (one that is easy and natural),
you're against providing a clean way to handle the problem?

 (If someone found some way to clean up *all* of the corner cases, and if
 they could justify the effort this would take even in the face of the
 design goal of using symbolic tags to identify such things, then that
 might be a somewhat different matter)
 
Are you saying that there might be a reason to change the rev number
to 2.x or so?  I don't think so.  I think CVS works best, and is likely
to continue to work best, when people treat the rev number as a raw
identifier for the change.  This doesn't mean that it isn't worth
handling cases where somebody has previously changed the rev number.

  Mike Little referred to "some previous cvs admin", and this is
  precisely what happened in my case.  Some previous CVS admin
  put some of the rev numbers to 2.x, and there's no way I can put
 
 It may be possible to renumber the trunk back to "normal", especially if
 there aren't too many branches in your repository
 
There are too many.

 
 You can also leap-frog into a new repository starting fresh with "1.1"
 at some major milestone in your project.  The actual amounts of use of
 history information is usually far lower than people surmise without
 measurements and indeed is extremely low if you only examine events
 where users back past a major milestone.  You don't have to 100% cut
 them off from the old history either -- just keep it in a read-only
 repository for easy local access and then occasionally audit to see how
 often it's accessed before you retire it for good.
 
We routinely have to change code that's three or four milestones back,
when (for instance) a client runs into a bug.  Keeping this code
read-only is not acceptable.

Further, we consider it important to be able to match source changes
with the Gnats PR they are associated with.  If we were to change the
rev numbers, we'd have to find some way to change them in the PRs.
This seems to me a major project to support a particular kludge.

Another issue is that we can't invalidate everybody's workspace
without major consequences.  Most people have projects going pretty
much all the time, and there's no time in which everybody's workspace
is synchronized with the repository.  Forcing such a synchronization
is going to be expensive.

-- 
David H. Thornley  Software Engineer
at CES International, Inc.:  [EMAIL PROTECTED] or (763)-694-2556
at home: (612)-623-0552 or [EMAIL PROTECTED] or
http://www.visi.com/~thornley/david/




6-20-2000 .trunk patch refinement

2000-06-20 Thread Stephen Cameron

I have a new version of my ".trunk" patch (I sent it to bug-cvs 
already but I didn't want to pollute everyone's mailbox 
with a big patchfile twice, so I'm only sending this
URL to info-cvs...

Includes a new test case in sanity.sh for a revision "2.1"
Changes to docs, comments...minor stuff.

The patch applies to the development version of CVS.
(and to 1.10.8, with a minor, easily resolved reject
in log.c)  (I did have some trouble with Larry's 6-19-2000
check-in to server.c, main.c, root.c though, so I ran
the tests with those changes backed out.)

http://www.geocities.com/dotslashstar/branch_patch.html

-- steve



__
Do You Yahoo!?
Send instant messages with Yahoo! Messenger.
http://im.yahoo.com/




.trunk patch, usage of -r1 random data point

2000-06-20 Thread Stephen Cameron


Just out of curiosity, I used my hacked version of
cvs to do this on my biggest repository:

cvs rdiff -s -r1 -r.trunk topmodule  diffs.txt

There were 459 (out of 6658) files that had 
a revision number  that didn't start with "1", 
and quite a few that I was surprised to see. 
(that is, quit a few  relatively new files, 
in addition to the old ones.   grumble grumble...
silly users. :-)

Just a random data point.

-- steve




__
Do You Yahoo!?
Send instant messages with Yahoo! Messenger.
http://im.yahoo.com/




WinCVS setup.

2000-06-20 Thread Kent Yang

Howdy folks,

I am setting WinCVS to connect to a Linux server where the CVS 
repository resides.  I have setup the password authentication server 
and I seem to be able to login from WinCVS.  However, I am getting an 
error in the status window.  The error message is:

TCL is *not* available, shell is disabled

And when I go to the macro admin of the admin Menu in WinCVS, I do 
not see any of the modules in the repository.  I only see TCL is not 
available.

Do I need to setup something else on my Linux server or WinCVS.  I 
looked through all the available doucmentation including the Don 
Harper WinCVS user guide and I didn't see any mentioning of TCL.  If 
anyone can shed some light on this problem, it would be much 
appreciated.  Thanks in advance.

Kent Yang
[EMAIL PROTECTED]






Re: When is it appropriate to update a major version number?

2000-06-20 Thread Laird Nelson

Mike Jellison wrote:
 I don't understand why updating a major version number is a bad thing.

Conceptually speaking, there are two identifiers for any file under
configuration management: the
identifier-that-the-version-control-system-assigns-to-it-to-keep-track-of-it-for-its-own-purposes
and the
identifier-that-is-applied-when-your-configuration-management-process-determines-that-it-should-be-applied.
 
I'll call the first one the version control (VC) identifier and the
other the configuration management (CM) identifier.

When someone says they want to bump the revision number from 1.X to 2.X,
they are actually saying something like this:  

  "My project or file has reached a point where my configuration
management policy says that I need to "bless" it with a new identifier."

For example, their project may be ready for release, or their bug fix
tasks may be all completed, etc.  Note that they are *NOT* saying the
following:

  "I don't trust my version control system to know what it's doing, so I
want to change the internal mechanisms it uses to keep track of files."

...even though by monkeying with the revision numbers that's **exactly**
what they're saying.  Hold that thought in memory for a moment.

The problem is that version control systems like SCCS (and some versions
of RCS, to a lesser degree) didn't realize (or didn't care :-)) that
there were these two identifiers.  All you had was the one "revision
number".  That revision number is of course the VC identifier
*only*--used only to uniquely identify a version of a file and for no
other purpose--and SCCS probably never intended it to work double duty
as the CM identifier as well.

But people are clever and crafty and realized that you *could* use this
VC identifier to store all sorts of policy information in a kind of
numeric code (2.x usually is shorthand for "part of the second release
of the product"; 3.1.1.4.5.7.2.3 usually means that you're way off on an
integration branch somewhere, etc. etc.).  All you had to do was define
rules for how to interpret the numeric code.  So they started shoving
all sorts of information into this poor little revision number and a
whole software release nomenclature was born (version "2.0" of a product
is more "mature", so it goes, than version "1.3").

Along came some latish version of RCS (I'm sure I'm mutilating VC
history here, but the thought's what counts :-)) which lets you mark
things with any old label you like (sort of).  Voila: the CM
identifier.  Now there was a version control system that *made explicit*
both the concept of a revision number--the internal VC identifier--and
the "tag" or "mark" or "label"--the public CM identifier.  It was
expected that the revision number would no longer be used to store the
CM identifier information, since it was already being used to store the
VC identifier information.

So, recalling the earlier thought ("My project is ready to be blessed
with a new identifier for a reason dictated by my CM policy"), in RCS
you would tag certain *revisions* of certain files (identified by their
significant-only-to-RCS revision numbers) with the CM identifier--the
tag--of your choice, which could be a hell of a lot more expressive than
"2.X".  For example, in my dumb example above you would tag the current
revisions (1.3, 1.56, 1.2947, etc.) of your files with, say, the tag
"RELEASE_2_2620".  Now when you refer to files, you refer to them
using the public/CM identifier--RELEASE_2_2620--rather than the by
comparison rather scrawny revision number (which can now be left alone
by human beings to do its simple job of incrementing itself and keeping
track of branches).

So, you may ask, if the revision number is so all-fired internal to
systems like RCS and cvs, why provide the ability to update or mess with
it at all?  A good question which is usually swept under the rug of
"backwards compatibility".  The answer is, more forcefully, that ability
probably *shouldn't* be provided, but cvs is a good citizen when it
plays with old RCS files so it gives you the ability to mess around. 
Why even provide the ability to see it?  Because in between
CM-sanctioned versions of files may exist little unblessed revisions of
files that you discover (usually as a result of a drastic edit) you
need.

Finally, to state the obvious by now, cvs uses the notion of a tag as
the CM identifier and the revision number as the VC identifier. 
Interestingly enough, you'll note that cvs handles vendor branches by
monkeying with the revision number which it has every right in the world
to do, as that number's only job is to uniquely identify a file (nothing
more, nothing less).  So tag anything that might be interesting to you
later and get in the habit of referring to things by tags, not by
revision numbers.

So: a long answer, but I hope a useful one.

Cheers,
Laird




RE: WinCVS setup.

2000-06-20 Thread Anthony E. Glover

Kent,

You will need to install TCL on your windows machine.
I believe the link for this is:

http://dev.scriptics.com/software/tcltk/downloadnow83.tml

Tony

-Original Message-
From: Kent Yang [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, June 20, 2000 3:07 PM
To: [EMAIL PROTECTED]
Subject: WinCVS setup.


Howdy folks,

I am setting WinCVS to connect to a Linux server where the CVS 
repository resides.  I have setup the password authentication server 
and I seem to be able to login from WinCVS.  However, I am getting an 
error in the status window.  The error message is:

TCL is *not* available, shell is disabled

And when I go to the macro admin of the admin Menu in WinCVS, I do 
not see any of the modules in the repository.  I only see TCL is not 
available.

Do I need to setup something else on my Linux server or WinCVS.  I 
looked through all the available doucmentation including the Don 
Harper WinCVS user guide and I didn't see any mentioning of TCL.  If 
anyone can shed some light on this problem, it would be much 
appreciated.  Thanks in advance.

Kent Yang
[EMAIL PROTECTED]




BEGIN:VCARD
VERSION:2.1
N:Glover;Anthony
FN:Anthony Glover
ORG:ELMCO, Inc.
TEL;WORK;VOICE:(256) 721-7714 x249
TEL;HOME;VOICE:(256) 837-7017
TEL;WORK;FAX:(256) 721-1816
ADR;WORK:;;6000 Technology Drive Building 1, Suite N;Huntsville;AL;35805;USA
LABEL;WORK;ENCODING=QUOTED-PRINTABLE:6000 Technology Drive Building 1, Suite N=0D=0AHuntsville, AL 35805=0D=0AUSA
EMAIL;PREF;INTERNET:[EMAIL PROTECTED]
REV:19991105T195408Z
END:VCARD



Merging from branch to mainline

2000-06-20 Thread Paul Adams

New to CVS -- Help!
For a production bug fix:
- After creating a branchtag via
  "cvs rtag -b -r prodtag branchtag module"
  then, modifying files/unit and system testing
- How do I merge the modified files back into the mainline/trunk of the CVS
source?

Thanks in advance for your reply(ies).
Paul Adams


-Original Message-
From: Larry Jones [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, June 20, 2000 10:59 AM
To: Brian Collins
Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: Re: Repeatedly merging from branch to trunk


Brian Collins writes:

 So, back to the branch, add another line (Line 3), commit it and merge it
back
 to the trunk as above.  This gives conflicts, thus:
   Line 1
f1
   Line 2 on the trunk
   ===
   Line 2 on the branch
   Line 3
1.1.2.2

 when all I expected was the automatic merging of "Line 3"!

Since the context is different, CVS isn't sure that it's actually put
the new line in the right place, so it calls it a conflict and makes you
verify that it is correct.  *You* know that "Line 2 on the trunk" and
"Line 2 on the branch" are equivalent, but CVS doesn't.

-Larry Jones

Ever notice how tense grown-ups get when they're recreating? -- Calvin




How to get CVS user (not system user) in a notification script

2000-06-20 Thread Uwe Fritsch

Hi,

we are using "log.pl" in the loginfo control file to send out
notification to developers on new check ins. We are using the passwd
access and have a public cvs account (cvsuser) for users which are
remote. CVS itself stores the remote user's name (let's say henry) for
the log message, but the public cvs user name prints the public cvs
user's name (cvsuser) because log.pl gets the name via getlogin()
function within Perl.

Is there a way to get the CVS author name at the time when the loginfo
trigger is run?

Thanks in advance,
Uwe.




Re: Repeatedly merging from branch to trunk

2000-06-20 Thread Brian Collins


Larry Jones wrote:
 
 Brian Collins writes:
 
  So, back to the branch, add another line (Line 3), commit it and merge it back
  to the trunk as above.  This gives conflicts, thus:
Line 1
 f1
Line 2 on the trunk
===
Line 2 on the branch
Line 3
 1.1.2.2
 
  when all I expected was the automatic merging of "Line 3"!
 
 Since the context is different, CVS isn't sure that it's actually put
 the new line in the right place, so it calls it a conflict and makes you
 verify that it is correct.  *You* know that "Line 2 on the trunk" and
 "Line 2 on the branch" are equivalent, but CVS doesn't.

OK, so, if on the branch the change had looked like this:
  Line 2 on the branch
  Line 2A

and on the trunk it had looked like this:
  Line 2 on the trunk
  Line 2A

then adding "Line 3" on the branch after "Line 2A" would *not* have resulted in
a conflict?

Regards,  Brian

 
 -Larry Jones
 
 Ever notice how tense grown-ups get when they're recreating? -- Calvin

--

"Everyone is ignorant, only on different subjects." (Will Rogers) 

Brian Collins
Triple G Asia Pacific
http://www.tripleg.com




[Q] multiple repository and patching changes

2000-06-20 Thread Eric / Chang-Cheng, Chao

Hi, is it possible for CVS to generate all the changes I have made to a
module and save these changes as a patch file?

I'm asking this because I have two repositories and I wish to have CVS
generate all the changes I have made on the first repository since the
last tag and save the information as a patch file so I can apply the
patch file to the second repository. ( I make most of my changes on the
first repository and some changes on the second repository and they are,
unfortunately, not connected by internet. )

If there is such functionality, what is the command ?

Thanks.




Problem

2000-06-20 Thread Zieroth, Brian D.

Hello,
I'm getting a problem (see below) whenver I try to a "get".  I've
checked the directories for '#cvs.wfl' or '#cvs.rfl' and can't see any.  Has
anyone seen this before?  thanks!  

Brian Zieroth
YellowGiant Corporation

cvs server: failed to create lock directory in repository
`/cvs/sql/data_model':
 Permission denied
cvs server: failed to obtain dir lock in repository `/cvs/sql/data_model'
cvs [server aborted]: read lock failed - giving up




Re: Repeatedly merging from branch to trunk

2000-06-20 Thread Eric Siegerman

On Wed, Jun 21, 2000 at 09:32:03AM +1000, Brian Collins wrote:
 OK, so, if on the branch the change had looked like this:
   Line 2 on the branch
   Line 2A
 
 and on the trunk it had looked like this:
   Line 2 on the trunk
   Line 2A
 
 then adding "Line 3" on the branch after "Line 2A" would *not* have resulted in
 a conflict?

Correct, except that CVS might require more than one identical
line in between (eg. 2B, 2C, and 2D) to be confident that it had
put "Line 3" in the right place.

Of course, the problem would still be lurking; a year from now,
someone would end up making a change too close to "Line 2", and
would trip across it.

The Right Thing(TM) would probably be to collapse (ie. "merge and
forget") the branch and start a new one, rather than doing
multiple merges from the existing one -- but I'm not quite sure
how to do this in a context of ongoing bug-fixes to the previous
release.

The expedient thing, if the "Line 2 on the trunk" changes are
fairly localized, might be to check them in on the branch, so
that there's no longer a disagreement.

--

|  | /\
|-_|/ Eric Siegerman, Toronto, Ont.[EMAIL PROTECTED]
|  |  /
[Microsoft's] www.hotmail.com is running Apache/1.3.6 (Unix) ... on FreeBSD 
- Netcraft's "What's that site running?" service, 12-Jun-2000




Re: Changing Revision with WinCVS!

2000-06-20 Thread Derek R. Price

Daniel Barsalou wrote:

 Can we reset the revision number of a file to 1.1?

First off, I wouldn't do that if it were me.  One of the major
advantages of CVS, in my mind, is that you can go back to any old
version of the file you like.  And you always have that log and diff
information if you need it.

That said, if you REALLY, REALLY want to you can delete revision using
the 'cvs admin -o' command.  If you deleted all revisions except the
revision you  wanted, you COULD effectively reset the revision to 1.1.

Make sure you backup your archive file before you start playing with
admin -o.

Derek

--
Derek Price  CVS Solutions Architect
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I will not celebrate meaningless milestones.
I will not celebrate meaningless milestones.
I will not celebrate meaningless milestones...

  - Bart Simpson on chalkboard, _The Simpsons_






Re: Win32 DLL for remote control of CVS?

2000-06-20 Thread Derek R. Price

No, but you might try www.wincvs.org.

Derek
--
Derek Price  CVS Solutions Architect
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
"If I was modest, I'd be perfect."

-Ted Turner


Jonah Goldshlag wrote:

  Hi, I'm not really sure if this is the address or the right place to be
  asking this, but I am looking for a little information about CVS,
  specifically about controlling it through calls to a DLL.  I need to be
  able to control builds and branching from a remote machine, "getting" and
  "branching" my tree without having to go through a million command-line
  headaches.  What I need is a DLL that handles all the calls to the server
  and simplifies my life a bit.  Anyone know of such a DLL?
 
  Thanks for any help,
  Jonah Goldshlag




problems with winCVS (fwd)

2000-06-20 Thread Mark J. Miller



This won't apply to most of you, but just be warned.

There's a bug in WinCVS 1.0.6 (possibly only on Win2000) which causes
newly-added directories to be added in upper case, regardless of the
actual name of the directory.  However, this only occurs when you use the
menu to add, not with the right-click add.  

To spare you the details, if you need to add a directory, locate it in the
left pane, right click, and Add.  Same deal with commit.

DO NOT use the "Cvs Folders-Add a Folder" option.  Most of you don't.
But it's a problem for new users because they tend to use the normal menus
more frequently, and it will likely continue to be a problem with new
users, so let 'em know.  

Incidentally, there's a beta version of wincvs @ wincvs.org with a vastly
improved UI.  I can't vouch for stability, but it doesn't exhibit this
problem.





Re: file permissions with client/server

2000-06-20 Thread Derek R. Price

You can play with the CVSUMASK environment variable.  I'm not completely
sure how it works.  See the manual.

Derek

--
Derek Price  CVS Solutions Architect
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
151. H lp! S m b d st l ll th v w ls fr m m k yb rd!





Mark Whitehouse wrote:

 Does anyone know how to set the directory permissions using client/server
 cvs to a specific value when directories are created with the cvs import
 command.  I am running cvs 1.10.8 on a Linux RH 6.2 server.

 Thanks,
 Mark




RE: .trunk patch refinement

2000-06-20 Thread Greg A. Woods

[ On Tuesday, June 20, 2000 at 10:41:16 (+0100), J. Cone wrote: ]
 Subject: RE: ".trunk" patch refinement

 If they've migrated from sccs, this will have been done for them :-)

Yeah, no thanks to the broken use of sccs2rcs.  Unfortunately nobody
ever wrote an "sccs2cvs" that would properly translate an SCCS
repository into CVS using CVS semanitcs.

(I did do this by hand as an experiment once though, at least to see how
some of the common cases would be handled, and it worked very easily.)

-- 
Greg A. Woods

+1 416 218-0098  VE3TCP  [EMAIL PROTECTED]  robohack!woods
Planix, Inc. [EMAIL PROTECTED]; Secrets of the Weird [EMAIL PROTECTED]