Re: cvs update $Name: $ expansion

2005-06-23 Thread Pierre Asselin
[EMAIL PROTECTED] wrote:
 I can't get $Name: $ to expand on an update in my script below.

 It works when checking out. But, do I really have to do a checkout?

I think it works on update, *if* the working copy is missing
and the update has to get a new copy from scratch.  (And, of
course, if the sandbox has a sticky revision tag.)

So if you use $Name$ in a single file, you can get that file
to expand correctly without having to check out the entire
project.

-- 
pa at panix dot com
___
Info-cvs mailing list
Info-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/info-cvs


Re: cvs update $Name: $ expansion

2005-06-22 Thread Stuart Cooper
 I can't get $Name: $ to expand on an update in my script below.

 It works when checking out. But, do I really have to do a checkout?

 Because a clean checkout every night would be expensive over a crappy
 connection.

 debian$ cat test.sh
 DATE=`date +%s`
 TAG=test_$DATE
 MODULE='t'

 echo Tagging module: $MODULE with tag: $TAG

 # Snapshot the module in the repo
 cvs rtag $TAG $MODULE

 # Updating to that snapshot
 cvs update -r $TAG

 tag=$Name:  $
 echo $tag |sed 's/^.*: //;s/ .*$//'

You're very mixed up here. The whole point of $Name: $ is you put them in
your source files and they get automagically transformed for you on checkin and
checkout. You don't use them as tag names and you shouldn't be doing sed
magic by yourself.

Common idiom (in say a Perl project)
#!/usr/bin/perl
# $Id$
use DBI;
...etc etc rest of script goes here

After the next checkin/checkout you get some nice info on the state of the file
#!/usr/bin/perl
# $Id: newDSLTests.pl,v 1.19 2005/04/15 04:00:58 scooper Exp $
use DBI;

There's a trick in C programming, something like
static char RCSId[]=$Id$;
and it gets compiled into the executable so it can later be found as
a string in the executable so you know what versions made up your compiled
software.

Take a few steps back and think about what $Id$, $Name$ are all about.

Have fun,
Stuart.


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


Re: cvs update $Name: $ expansion

2005-06-22 Thread kai . hendry
I want some sort of build identifier attached to the source I am
building every night.

$Name:$ seems logical and it does seem like the way other people do it,
albeit with a checkout.

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


Re: cvs update $Name: $ expansion

2005-06-22 Thread Stuart Cooper
 I want some sort of build identifier attached to the source I am
 building every night.

Then tag your sources every night in eg astronomical time
rev20050623 for July 23rd.
 
 $Name:$ seems logical and it does seem like the way other people do it,
 albeit with a checkout.

Yes, it only gets expanded on checkout: from info cvs:

`$Name$'
 Tag name used to check out this file.  The keyword is expanded
 only if one checks out with an explicit tag name.  For example,
 when running the command `cvs co -r first', the keyword expands to
 `Name: first'.

And you don't want users to check out the whole source tree. But if
you tag your regular build, users can update their sources with
cvs update -r rev20050623
and less stuff will get sent over the network and they'll be running with
the 20050623 'nightly build'.

They won't be able to check in changes to this since it's a non-branch tag,
but they will be able to try out nightly snapshots in this way. cvs update -A
will remove the sticky tag and bring them up to HEAD when they need to
do that.

So you associate the build identifier to your source tree through the tag.
Users won't get much clue looking at the source files themselves,
CVS/Entries in each directory will show that they've checked out the
rev20050623 tag however.

Hope this helps,
Stuart.


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


Re: CVS update -j branch-tag failes to merge

2005-05-19 Thread Asbjørn Sæbø
On Wed, May 18, 2005 at 12:53:03PM -0400, Jim Hyslop wrote:
 Asbjørn Sæbø wrote:
 On Fri, May 13, 2005 at 03:58:12PM -0400, Jim Hyslop wrote:
 What version of client and server are you using?
 
 
 Both are 1.12.9 
 
 Hmmm... I just tried it with 1.12.12, and it worked OK. Can you upgrade 
 to the latest versions and try again?

Now I have tested again, on clean checkouts, with both 1.12.9 and
1.12.12. The results seem to indicate a difference between these two
versions.  With 1.12.12, the expected merging takes place, with 1.12.9
it does not.

Actually, it seems that what makes the difference is whether the client 
is 1.12.12 or not (see below).  When the client is 1.12.12, the merging 
I am expecting takes place.  When the client is 1.12.9, it does not.

(It should be mentioned that I am not totally certain that my repository
is sound.  I installed cvs the normal way (apt-get install on a
Debian-based box).  But the actual ldas module is just copied to this
server from another one.  It seems to work, but I am not sure whether
this is the formally correct way to transfer a module to another
server.)


Procedure:
--
rm -rf ldas
cvs co ldas
cvs update -j dev_20050413_b ldas

The output from the update -j command is shown below.  (The output is 
truncated for the cases where merging took place.)



Case 1:
---
client: cvs 1.12.9
server: 1.12.9

[EMAIL PROTECTED]:~/tmp/tmp$ cvs update -j dev_20050413_b ldas
cvs update: Updating ldas
cvs update: Updating ldas/doc
cvs update: Updating ldas/doc/doxygen
cvs update: Updating ldas/doc/ldasdoc
cvs update: Updating ldas/doc/ldasdoc/developer
cvs update: Updating ldas/doc/ldasdoc/reference
cvs update: Updating ldas/doc/ldasdoc/spec
cvs update: Updating ldas/doc/ldasdoc/usermanual
cvs update: Updating ldas/extracode
cvs update: Updating ldas/orig_src
cvs update: Updating ldas/src
cvs update: Updating ldas/testcode
[EMAIL PROTECTED]:~/tmp/tmp$  


Case 2:
---
client: cvs 1.12.12
server: 1.12.12

[EMAIL PROTECTED]:~/tmp/tmp$ cvs update -j dev_20050413_b ldas
cvs update: Updating ldas
RCS file: /local/cvs/ldas/Tags,v
retrieving revision 1.17
retrieving revision 1.17.2.2
Merging differences between 1.17 and 1.17.2.2 into Tags
rcsmerge: warning: conflicts during merge
cvs update: Updating ldas/doc
[...]
cvs update: Updating ldas/doc/ldasdoc/reference
cvs update: Updating ldas/doc/ldasdoc/spec
RCS file: /local/cvs/ldas/doc/ldasdoc/spec/specification.tex,v
retrieving revision 1.6
retrieving revision 1.6.4.1
Merging differences between 1.6 and 1.6.4.1 into specification.tex
ldas/doc/ldasdoc/spec/specification.tex already contains the differences 
between 1.6 and 1.6.4.1
[More merging]


Case 3:
---
Client: 1.12.12
Server: 1.12.9

[EMAIL PROTECTED]:~/tmp/tmp$ cvs update -j dev_20050413_b ldas
cvs update: Updating ldas
RCS file: /local/cvs/ldas/Tags,v
retrieving revision 1.17
retrieving revision 1.17.2.2
Merging differences between 1.17 and 1.17.2.2 into Tags
rcsmerge: warning: conflicts during merge
cvs update: Updating ldas/doc
[...]
cvs update: Updating ldas/doc/ldasdoc/spec
RCS file: /local/cvs/ldas/doc/ldasdoc/spec/specification.tex,v
retrieving revision 1.6
retrieving revision 1.6.4.1
Merging differences between 1.6 and 1.6.4.1 into specification.tex
ldas/doc/ldasdoc/spec/specification.tex already contains the differences 
between 1.6 and 1.6.4.1
[More merging]


Case 4:
---
Client: 1.12.9
Server: 1.12.12

[EMAIL PROTECTED]:~/tmp/tmp$ cvs update -j dev_20050413_b ldas
cvs update: Updating ldas
cvs update: Updating ldas/doc
cvs update: Updating ldas/doc/doxygen
cvs update: Updating ldas/doc/ldasdoc
cvs update: Updating ldas/doc/ldasdoc/developer
cvs update: Updating ldas/doc/ldasdoc/reference
cvs update: Updating ldas/doc/ldasdoc/spec
cvs update: Updating ldas/doc/ldasdoc/usermanual
cvs update: Updating ldas/extracode
cvs update: Updating ldas/orig_src
cvs update: Updating ldas/src
cvs update: Updating ldas/testcode
[EMAIL PROTECTED]:~/tmp/tmp$ 



Asbjørn





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


Re: CVS update -j branch-tag failes to merge

2005-05-18 Thread Asbjørn Sæbø
On Fri, May 13, 2005 at 03:58:12PM -0400, Jim Hyslop wrote:
 Asbjørn Sæbø wrote:
 On Fri, May 13, 2005 at 10:04:59AM +0200, Asbjørn Sæbø wrote:

[Updating/merging did not work from outside the module/directory, but
worked from inside the directory. ]

 [EMAIL PROTECTED]:~/ldas/utvikling$ cvs update -j dev_20050413_b ldas
[Did not merge]

 [EMAIL PROTECTED]:~/ldas/utvikling/ldas$ cvs update -j dev_20050413_b .
[Worked, did merge]


 [Much retrieving and merging] 
  
 Is this difference between naming the module/directory and standing in 
 the module/directory expected behaviour?

 No. I just tried it with cvs 1.11.20, and it worked OK: 
 
 [...] 
 What version of client and server are you using?

Both are 1.12.9 

Asbjørn



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


Re: CVS update -j branch-tag failes to merge

2005-05-18 Thread Jim Hyslop
Asbjørn Sæbø wrote:
On Fri, May 13, 2005 at 03:58:12PM -0400, Jim Hyslop wrote:
What version of client and server are you using?

Both are 1.12.9 
Hmmm... I just tried it with 1.12.12, and it worked OK. Can you upgrade 
to the latest versions and try again?

--
Jim

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


Re: CVS update -j branch-tag failes to merge

2005-05-13 Thread Asbjørn Sæbø
On Fri, May 13, 2005 at 10:04:59AM +0200, Asbjørn Sæbø wrote:
 I have a CVS module (named ldas) where I would like to merge the
 contents of a branch into the trunk.  According to the documentation,
 is seems that I should be able to du this using cvs update -j
 branch-tag.  However, this does not work.  No merging takes place,
 the files on the trunk do not receive the changes from the branch.
 [...]
 [EMAIL PROTECTED]:~/ldas/utvikling$ cvs update -j dev_20050413_b ldas

However, when I changed into the ldas directory, and did the update,
it worked:

[EMAIL PROTECTED]:~/ldas/utvikling$ cd ldas
[EMAIL PROTECTED]:~/ldas/utvikling/ldas$ cvs update -j dev_20050413_b .
[Much retrieving and merging]

Is this difference between naming the module/directory and standing in
the module/directory expected behaviour?

Asbjørn
-- 
Asbjørn Sæbø, post.doc. 
Centre for Quantifiable Quality of Service in Communication Systems
Norwegian University of Science and Technology
URL: http://www.q2s.ntnu.no/ 


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


Re: CVS update -j branch-tag failes to merge

2005-05-13 Thread Jim Hyslop
Asbjørn Sæbø wrote:
On Fri, May 13, 2005 at 10:04:59AM +0200, Asbjørn Sæbø wrote:
I have a CVS module (named ldas) where I would like to merge the
contents of a branch into the trunk.  According to the documentation,
is seems that I should be able to du this using cvs update -j
branch-tag.  However, this does not work.  No merging takes place,
the files on the trunk do not receive the changes from the branch.
[...]
[EMAIL PROTECTED]:~/ldas/utvikling$ cvs update -j dev_20050413_b ldas

However, when I changed into the ldas directory, and did the update,
it worked:
[EMAIL PROTECTED]:~/ldas/utvikling$ cd ldas
[EMAIL PROTECTED]:~/ldas/utvikling/ldas$ cvs update -j dev_20050413_b .
[Much retrieving and merging]
Is this difference between naming the module/directory and standing in
the module/directory expected behaviour?
No. I just tried it with cvs 1.11.20, and it worked OK:
C:\cvs-test\jimcvs -d \cvs_repository tag -r brach_base -b abranch
cvs tag: Tagging .
T test.txt
C:\cvs-test\jimcvs up -r abranch
cvs update: Updating .
C:\cvs-test\jimecho branch changestest.txt
C:\cvs-test\jimcvs ci -m branch changes test.txt
Checking in test.txt;
\cvs_repository/cvs-test/jim/test.txt,v  --  test.txt
new revision: 1.2.2.1; previous revision: 1.2
done
C:\cvs-testcvs up -A jim
cvs update: Updating jim
U jim/test.txt
C:\cvs-testcvs up -j abranch jim
cvs update: Updating jim
RCS file: \cvs_repository/cvs-test/jim/test.txt,v
retrieving revision 1.2
retrieving revision 1.2.2.1
Merging differences between 1.2 and 1.2.2.1 into test.txt
What version of client and server are you using?
--
Jim

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


Re: cvs update not handling binary files with conflicts correctly

2005-04-09 Thread Arno Schuring
[...]
When the update command is run it says that there is a conflict in the
WORD.tar (binary file). But when I ran cvs -nq update after the
changes are merged it shows that the Binary file has no conflicts. It
is supposed to mark it with a 'C' right?
CVS already told you...
$ cvs -f up -d -kk -j TAG1 -j TAG2 WORD.tar test9.txt
cvs update: nonmergeable file needs merge
cvs update: revision 1.1.2.2 from repository is now in WORD.tar
cvs update: file from working directory is now in .#WORD.tar.1.1.4.2
Which basically means that the WORD.tar revision is now the same as in the 
repository. If you want to create your conflict again, do a
$ mv .#WORD.tar.1.1.4.2 WORD.tar

and run cvs up
Arno

 np: Marillion - The Fruit Of The Wild Rose 

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


RE: cvs update -A doesn't work . . . ?

2005-04-05 Thread Jim.Hyslop
Christopher Currie wrote:
   I'm trying to commit a file that has a sticky tag:
 
 cvs server: sticky tag `1.8' for file `shopnav.ascx' is 
 not a branch
 cvs [server aborted]: correct above errors first!
 
 From all the documentaton I have, I read that the way to 
 clear the sticky tag was to do a:
 
  cvs update -A 
 
 but this doesn't do a thing. 
Are you sure? What does 'cvs stat shopnav.ascx' report, right after 'cvs
update -A'?

-- 
Jim Hyslop
Senior Software Designer
Leitch Technology International Inc. ( http://www.leitch.com )
Columnist, C/C++ Users Journal ( http://www.cuj.com/experts )



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


RE: cvs update -A doesn't work . . . ?

2005-04-05 Thread Christopher Currie

 Robert -- the output of 'status,' 'update,' 'status,' and then a final try
at commiting the file is below.

 By 'doesn't do a thing,' I mean that the status of the file doesn't seem to
change nor can I commit the file.

 I'm new to cvs, and I've been reading the documentation and the cvs book
(by Jennifer Vesperman), but I'm still quite lost about what the problem is
exactly.  Thanks Robert.

 - Christopher

-Original Message-
From: Robert Helmer [mailto:[EMAIL PROTECTED]
Sent: Tuesday, April 05, 2005 12:59 PM
To: Christopher Currie
Cc: info-cvs@gnu.org
Subject: Re: cvs update -A doesn't work . . . ?


On Tue, Apr 05, 2005 at 11:49:00AM -0400, Christopher Currie wrote:
   I'm trying to commit a file that has a sticky tag:

 cvs server: sticky tag `1.8' for file `shopnav.ascx' is not a branch
 cvs [server aborted]: correct above errors first!

 From all the documentaton I have, I read that the way to clear the sticky
 tag was to do a:

  cvs update -A

 but this doesn't do a thing.


What do you mean by doesn't do a thing? No output, does not change the
situation, ?

You can see current sticky tags on a file with cvs status file, and
update just that file to the trunk using cvs update -A file. Are you
sure you are in the right directory, and are operating on a CVS
module that's been checked out (e.g. not one directory up)?

Please send the full output of these commands:

cvs status file
cvs up -A file
cvs status file


--
Rob

+-- REQUESTED OUTPUT --+

cvs status shopnav.ascx

* CVS exited normally with code 0 *

===
File: shopnav.ascx  Status: Locally Modified

   Working revision:1.8
   Repository revision: 1.8 \cvsrepo_web/Development/common/shopnav.ascx,v
   Sticky Tag:  1.8
   Sticky Date: (none)
   Sticky Options:  (none)

cvs up -A shopnav.ascx

* CVS exited normally with code 0 *

M shopnav.ascx

cvs status shopnav.ascx


* CVS exited normally with code 0 *

===
File: shopnav.ascx  Status: Locally Modified

   Working revision:1.8
   Repository revision: 1.8 \cvsrepo_web/Development/common/shopnav.ascx,v
   Sticky Tag:  1.8
   Sticky Date: (none)
   Sticky Options:  (none)

cvs -z9 commit -m shopnav.ascx

cvs server: sticky tag `1.8' for file `shopnav.ascx' is not a branch
cvs [server aborted]: correct above errors first!




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


RE: cvs update -A doesn't work . . . ?

2005-04-05 Thread Jim.Hyslop
Christopher Currie wrote:
  Robert -- the output of 'status,' 'update,' 'status,' and 
 then a final try
 at commiting the file is below.
[...] 
 ===
 File: shopnav.ascxStatus: Locally Modified
 
Working revision:  1.8
Repository revision:   1.8 
 \cvsrepo_web/Development/common/shopnav.ascx,v
Sticky Tag:1.8
Sticky Date:   (none)
Sticky Options:(none)
 
 cvs up -A shopnav.ascx
 
 * CVS exited normally with code 0 *
 
 M shopnav.ascx
 
 cvs status shopnav.ascx
 
 
 * CVS exited normally with code 0 *
 
 ===
 File: shopnav.ascxStatus: Locally Modified
 
Working revision:  1.8
Repository revision:   1.8 
 \cvsrepo_web/Development/common/shopnav.ascx,v
Sticky Tag:1.8
Sticky Date:   (none)
Sticky Options:(none)

Something is definitely wrong here. At this point, Sticky Tag should say
(none).

What is generating the * CVS exited ...  messages? Those are not
generated by CVS.

Which version of CVS are you running (both on the client and on the server)?

-- 
Jim Hyslop
Senior Software Designer
Leitch Technology International Inc. ( http://www.leitch.com )
Columnist, C/C++ Users Journal ( http://www.cuj.com/experts )



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


RE: cvs update -A doesn't work . . . ?

2005-04-05 Thread Christopher Currie
Jim,
   cvs on our server is version 1.3.2.03, and on our client machines, the
version is: 1.3.20.3 Beta (Build 3), WINCVS.  Thanks Jim.

 - Christopher

P.S.
I've been using the command line interface of WINCVS to run cvs
commands.

-Original Message-
From: Jim.Hyslop [mailto:[EMAIL PROTECTED]
Sent: Tuesday, April 05, 2005 1:39 PM
To: '[EMAIL PROTECTED]'; Robert Helmer
Cc: info-cvs@gnu.org
Subject: RE: cvs update -A doesn't work . . . ?


Christopher Currie wrote:
  Robert -- the output of 'status,' 'update,' 'status,' and
 then a final try
 at commiting the file is below.
[...]
 ===
 File: shopnav.ascxStatus: Locally Modified

Working revision:  1.8
Repository revision:   1.8
 \cvsrepo_web/Development/common/shopnav.ascx,v
Sticky Tag:1.8
Sticky Date:   (none)
Sticky Options:(none)

 cvs up -A shopnav.ascx

 * CVS exited normally with code 0 *

 M shopnav.ascx

 cvs status shopnav.ascx


 * CVS exited normally with code 0 *

 ===
 File: shopnav.ascxStatus: Locally Modified

Working revision:  1.8
Repository revision:   1.8
 \cvsrepo_web/Development/common/shopnav.ascx,v
Sticky Tag:1.8
Sticky Date:   (none)
Sticky Options:(none)

Something is definitely wrong here. At this point, Sticky Tag should say
(none).

What is generating the * CVS exited ...  messages? Those are not
generated by CVS.

Which version of CVS are you running (both on the client and on the server)?

--
Jim Hyslop
Senior Software Designer
Leitch Technology International Inc. ( http://www.leitch.com )
Columnist, C/C++ Users Journal ( http://www.cuj.com/experts )





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


RE: cvs update -A doesn't work . . . ?

2005-04-05 Thread Jim.Hyslop
Christopher Currie wrote:
cvs on our server is version 1.3.2.03, and on our client 
 machines, the
 version is: 1.3.20.3 Beta (Build 3), WINCVS.  Thanks Jim.
 
  - Christopher
 
 P.S.
 I've been using the command line interface of WINCVS to run cvs
 commands.

WinCVS uses CVSNT, not CVS (there is a difference). I'm afraid we're not
going to be much help for you.

For CVSNT support, you should go to www.cvsnt.com

Except that it seems to be down at the moment :=(

-- 
Jim Hyslop
Senior Software Designer
Leitch Technology International Inc. ( http://www.leitch.com )
Columnist, C/C++ Users Journal ( http://www.cuj.com/experts )


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


RE: cvs update: move away file; it is in the way

2004-12-13 Thread Jim.Hyslop
Rachel Suddeth wrote:
 Oh nevermind. I see there is an uncontrolled file by the same 
 name in the 
 sandbox.
Glad we could help :=)

BTW, with respect to this question:
  I'm not sure how 
 to say if a 
  message came from CVSNT client, or the server running under 
 Linux

the first part of the message tells you where it originated:
  cvs server: Updating BhCtrl/BHTypes
cvs server - the server generated the message.

-- 
Jim Hyslop
Senior Software Designer
Leitch Technology International Inc. ( http://www.leitch.com )
Columnist, C/C++ Users Journal ( http://www.cuj.com/experts )



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


Re: cvs update: move away file; it is in the way

2004-12-09 Thread Spiro Trikaliotis
Hello,

* On Thu, Dec 09, 2004 at 08:27:40AM -0600 Rachel Suddeth wrote:
 
 I got this in output window from WinCVS. I'm not sure how to say if a 
 message came from CVSNT client, or the server running under Linux but 
 I'm guessing server since path has /, not \ in it...
 cvs server: Updating BhCtrl/BHTypes
 cvs update: move away BhCtrl/BHTypes/BHTypes.csproj; it is in the way.

You want to checkout (or, in this case, update) the file
BhCtrl/BHTypes/BHTypes.csproj from the repository, but this file is
already in your sandbox. Unfortunately, the file is not under control of
CVS. Thus, CVS does not want to overwrite it, as you might loose the
file if it is totally different to what is checked out here.

Have you copied the file by hand into the sandbox?

You can rename the file BHTypes.csproj to something different and look
what CVS checks out for you.

Furthermore, I have seen this problem on the CVSHOME version of CVS on
Windows systems if there are files in the repository which differ only
in the case. Well, IIRC, it was more if there are directories which only
differ by case.

For more details, see the thread I started here

  Date: Sun, 18 Apr 2004 18:37:32 +0200
  Subject: Windows with Dir/ and dir/
  From: Spiro Trikaliotis [EMAIL PROTECTED]
  Message-ID: [EMAIL PROTECTED]

(sorry, the archive does not work now, so I cannot give you an URL)

HTH,
   Spiro.

-- 
Spiro R. Trikaliotis
http://www.trikaliotis.net/
http://www.viceteam.org/


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


Re: cvs-update triggers

2004-10-22 Thread Mark D. Baushke
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

[EMAIL PROTECTED] writes:

 i would like to setup a trigger for when cvs-update touches a file
 (updates or merges) in checked out work areas. is there already a
 mechanism for this?

No.

The Set-update-prog feature was removed for cvs 1.11.6. It is a
potential security vulnerability to have a cvs update run commands on
your behalf that someone else has defined.

 i want it to run a script or set of commands my specific need is that
 i want to have a shell-rc file in the repository, when someone makes
 changes to it and then i do an update, i get those changes and
 therefore would like to re-source that file and update my shell. is
 this possible to set-up? thanks paul

I'd suggest creating a 'make update' command or something similar that
captures the output of the 'cvs update' and post-processes it in
whatever way makes you happy.

Good luck,
-- Mark
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.3 (FreeBSD)

iD8DBQFBeSmc3x41pRYZE/gRAru5AKCUQhOGSB2LImG2SVYTHXk57OYJ0gCfepfZ
a20KAN3gXLb9n3UiAjZ4rio=
=jWfH
-END PGP SIGNATURE-


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


Re: cvs-update triggers

2004-10-22 Thread Arthur Barrett
Paul,

Use the precommand (or postcommand) trigger.
http://www.cvsnt.org/manual/postcommand.html

This is only available in CVSNT 2.0.58 and later.

CVSNT is free (GPL - just like CVS) is available on Linux, Unix, Windows,
Mac OS X etc etc.  If you are using WinCVS or TortoiseCVS then you are
already using it (it comes bundled with those).  Since the triggers are
executed on the server then you will need to be running CVSNT on the server.
http://www.cvsnt.com

Regards,


Arthur Barrett

[EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
 hello,
 i would like to setup a trigger for when cvs-update touches a file
(updates or merges) in checked out work areas.  is there already a mechanism
for this? i want it to run a script or set of commands
 my specific need is that i want to have a shell-rc file in the repository,
when someone makes changes to it and then i do an update, i get those
changes and therefore would like to re-source that file and update my shell.
is this possible to set-up?
 thanks
 paul





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


Re: Cvs update - file was lost

2004-09-30 Thread Mark D. Baushke
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Erik Andersson [EMAIL PROTECTED] writes:

 I'm a little worried of one of the warnings when I did a update on a
 module.
 
 We recieved a few warnings like:
 
 cvs update: warning: filename was lost
 U filename

The message arises when the information in the CVS/Entries* file(s) have
an entry for 'filename' and 'filename is not in the current directory.

 I understand that you recieve this error messenge if you delete a file
 in your local sandbox and then do a cvs update. 

Correct.

 But if the developer is absolutly sure that he hasn't deleted any
 local files, what could be the cause of this warning? 

Filesystem corruption? Someone else removed the file? Some process
removed the file?

 Am I to be worried about the state of the repository?

No, the repository state is unrelated to the state of the users local
CVS/* files.

 Please help me out. 

You should be able to use the source to cvs to prove what happens. The
src/classify.c file in the Classify_File function is where the message
is generated. Look at the code yourself and see if you can find any
other way to get the message you have seen.

-- Mark

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.3 (FreeBSD)

iD8DBQFBW79Y3x41pRYZE/gRAi0DAJ0Smywf/U2t1Mhkzs1yk5xkyWXQswCgmOFg
Y5geGG/AjmkHEeKP5T5/g8Y=
=oN+q
-END PGP SIGNATURE-


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


Re: CVS Update problem : cannot rename file .new..buildnum to .buildn um

2004-02-19 Thread Derek Robert Price
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Viraj Purang wrote:

Everytime I try to cvs update a file called .buildnum

I get an error :
cannot rename file .new..buildnum to .buildnum

This is true for all files which have been changed on client workspace
and are thus different from the server.

What could be the possible problem ?

Another interesting issue is that this problem occurs only when I am
using a
Perl script to
do that CVS update.Manual updated are all ok.


I would have to sauspect a problem with your perl script.  CVS does not
use any file naming pattern similar to `.new.*'.

Derek

- --
*8^)

Email: [EMAIL PROTECTED]

Get CVS support at http://ximbiot.com!
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Using GnuPG with Netscape - http://enigmail.mozdev.org

iD8DBQFANREELD1OTBfyMaQRAlWpAKCc1I1HKN1zp5c4sU1rqbx89z6TPgCgyxrp
1uBP1nHYuQufxwMzOW0yr3o=
=Bw7+
-END PGP SIGNATURE-




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


RE: CVS Update problem : cannot rename file .new..buildnum to .buildn um

2004-02-18 Thread Gagneet Singh
Hi!

Have you got the said file or any other file refering to it open in a
text editor or an IDE?

I have faced this problem when I had the VC++ IDE open with the project
file (but not the actual files) and was trying to update the project
files (although the DSP and DSW workspace and project files were not
updated).

If this is the problem, then close the IDE or Text editor completely and
try again.


Hope this helps.


Gagneet

-Original Message-
From: [EMAIL PROTECTED] 
[mailto:[EMAIL PROTECTED] On Behalf 
Of Viraj Purang
Sent: Thursday, 19 February, 2004 10:01 AM
To: '[EMAIL PROTECTED]'
Subject: CVS Update problem : cannot rename file 
.new..buildnum to .buildn um


I am using a Windows 2003 server (problem also occurs on a 
Windows 2000 professional laptop).

Everytime I try to cvs update a file called .buildnum 

I get an error : 
cannot rename file .new..buildnum to .buildnum

This is true for all files which have been changed on client workspace 
and are thus different from the server.

What could be the possible problem ?

Another interesting issue is that this problem occurs only 
when I am using a Perl script to 
do that CVS update.Manual updated are all ok.

I did make sure that environment in both the 
cases is same.

Viraj B. Purang
Arzoon Inc.



___
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 update -j problem with merging directories.

2004-02-05 Thread Larry Jones
Viraj Purang writes:
 
 The merge seems to be okay for most of the files, 
 except the 2 new directories 
 which were added to main and r56b0  
 between build15 and build20 tags.

You need to use update -d to get new directories.

-Larry Jones

Nobody knows how to pamper like a Mom. -- Calvin


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


RE: CVS update -j problem with merging directories.

2004-02-05 Thread Viraj Purang
Thanks for the suggestion.
It worked for me.
Very prompt response.

Regards,
Viraj Purang

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Thursday, February 05, 2004 2:13 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: CVS update -j problem with merging directories.


Viraj Purang writes:
 
 The merge seems to be okay for most of the files, 
 except the 2 new directories 
 which were added to main and r56b0  
 between build15 and build20 tags.

You need to use update -d to get new directories.

-Larry Jones

Nobody knows how to pamper like a Mom. -- Calvin


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


Re: cvs update times

2003-11-18 Thread Larry Jones
Eric Siegerman writes:
 
 Didn't someone say that co locks the whole tree, but update
 only locks one directory at a time?

If they did, they're wrong.  Checkout and update both use the same
underlying code, so they both do locking the same way (directory at a
time).  I think admin, commit and the various edit and watch commands
are the only things that lock the whole tree; everything else locks a
directory at a time.

-Larry Jones

Please tell me I'm adopted. -- Calvin


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


Re: cvs update times

2003-11-17 Thread Eric Siegerman
On Fri, Nov 14, 2003 at 01:55:55PM -0800, Richard Pfeiffer wrote:
 The project in question (Proj A) and one
 I'm using for comparison look like this:
  
 Proj A is half the size as Proj B, but did have more directories.  I might have to 
 find out just how many more. 
 Proj A took 2m15s to checkout, Proj B took 10m30s.
 Proj A took 1m14s to update, Proj B to 1m20s.  

How long do the du -k commands take?  (Make sure the data is
*not* in the buffer cache.)  The time for a du is proportional
to total number of filesystem objects, not to directories
specifically, but the numbers might still be interesting.

 So Proj B is twice the Kb, takes 5 times longer to checkout but updates in the same 
 time as Proj A.

I'd be interested to know counts of files and directories for
both projects.  Not sure what use all these numbers would be, but
they couldn't hurt :-)

 I would just write it off to # of dirs, but users claim it was
 much faster last week.  I'll have to check and see if they
 checked in a bunch of files all in seperate directories, etc.

Hmm, it just occurs to me.  How about changes on the client side?
Could it be that the project-A people (but not the project-B
people) installed some app on their Windows boxes that interacts
badly with WinCVS?

Or in the network?  Is there a flaky hub in the project-A room,
or is someone there downloading DVDs in the background and
saturating their uplink? :-)

 Could indivdual file or directory sizes have any bearing?

Sure, they could be confusing the issue.  If project B has N
large files, and project A has N small files, I'd expect to see
something very roughly like you're seeing -- though the twice
the KB, 5 times longer to check out part is mystifying.  But
that aside, I'd expect the update times to be similar (assuming,
of course, that the sandboxes were already up to date).  Unlike
actually fetching updates, merely checking up-to-dateness isn't
proportional to the file sizes.

 Does a checkout's locking structure differ from an update's
 locking structure?  I wouldn't think so, but if that was true,
 I would think the co and update times would be proportional for
 these two projects.  

Didn't someone say that co locks the whole tree, but update
only locks one directory at a time?  I don't see how that would
affect things, though.

--

|  | /\
|-_|/ Eric Siegerman, Toronto, Ont.[EMAIL PROTECTED]
|  |  /
It must be said that they would have sounded better if the singer
wouldn't throw his fellow band members to the ground and toss the
drum kit around during songs.
- Patrick Lenneau


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


Re: cvs update times

2003-11-14 Thread Eric Siegerman
On Fri, Nov 14, 2003 at 12:27:01PM -0800, Richard Pfeiffer wrote:
 However, we have one project in this repository that now takes
 1:58 to checkout and 1:29 to update.  It used to update much
 faster; these 'slow' update times just started occuring.

Two stabs in the dark:
  - Are you on a branch, with large files and/or many revisions
between head of branch and head of trunk?  Many operations in
CVS take longer under such circumstances, because of the way
revisions are stored in the ,v file (trunk as reverse deltas
from the head; branches as forward deltas from the branch
point.  See rcsfile(5)).

  - Does your slow project have a much larger directory:file
ratio than your other projects?  If so, it could be that
locking overhead is dominating the total update time in that
project, whereas in your other projects it's the useful work
of updating revisions that dominates.  CVS's locking overhead
is proportional to the number of directories (not files)
being operated on.

--

|  | /\
|-_|/ Eric Siegerman, Toronto, Ont.[EMAIL PROTECTED]
|  |  /
It must be said that they would have sounded better if the singer
wouldn't throw his fellow band members to the ground and toss the
drum kit around during songs.
- Patrick Lenneau


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


Re: cvs update times

2003-11-14 Thread Richard Pfeiffer
Thanks Eric. I had actuallythoughtof both of those and took quick looks: 

1) There are no branches as of yet, so that nixed that thought!

2) I think the second thought is the one I need to investigate further. Just wanted to see if the list concurred, or had ideas I overlooked. I initially took a quick look at the directory structure while doing a du -k to see how large theproject was getting. 
The project in question (Proj A)andone I'm using for comparison look like this:

Proj A is half the size as Proj B, but did have more directories. I might have to find out just how many more.
Proj A took 2m15s to checkout, Proj B took 10m30s.
Proj A took 1m14s to update, Proj B to 1m20s.

So Proj B is twice the Kb, takes 5 times longer to checkout but updates in the same time as Proj A.

I would just write it off to # of dirs, butusers claim it was much faster last week. I'll have to check and see if they checked in a bunch of files all in seperate directories, etc.

Could indivdual file or directorysizes have any bearing?
Does a checkout's locking structure differ from an update's locking structure? I wouldn't think so, but if that was true, I would think the co and update times would be proportional for these two projects. 

Thx,
-R





 Eric Siegerman [EMAIL PROTECTED] wrote:

On Fri, Nov 14, 2003 at 12:27:01PM -0800, Richard Pfeiffer wrote: However, we have one project in this repository that now takes 1:58 to checkout and 1:29 to update. It used to update much faster; these 'slow' update times just started occuring.Two stabs in the dark:- Are you on a branch, with large files and/or many revisionsbetween head of branch and head of trunk? Many operations inCVS take longer under such circumstances, because of the wayrevisions are stored in the ,v file (trunk as reverse deltasfrom the head; branches as forward deltas from the branchpoint. See rcsfile(5)).- Does your slow project have a much larger directory:fileratio than your other projects? If so, it could be thatlocking overhead is dominating the total update time in thatproject, whereas in your other projects it's the useful
 workof updating revisions that dominates. CVS's locking overheadis proportional to the number of directories (not files)being operated on.--| | /\|-_|/  Eric Siegerman, Toronto, Ont. [EMAIL PROTECTED]| | /It must be said that they would have sounded better if the singerwouldn't throw his fellow band members to the ground and toss thedrum kit around during songs.- Patrick Lenneau___Info-cvs mailing list[EMAIL PROTECTED]http://mail.gnu.org/mailman/listinfo/info-cvs
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs


Re: CVS update + access via ssh.

2003-09-15 Thread Ismael Valladolid Torres
Mensaje citado de [EMAIL PROTECTED] el 10/09/2003 10:00:
When I ran ssh -v I noticed that the generated key was not accepted
by the remote server. Any ideas?
The directory .ssh must be chmoded 700 (only owner can cd into it), 
while the file authorized_keys inside can be chmoded whatever you like. 
This, on the remote side. On the local side, check that permissions for 
the private key file are proper. In my case, id_rsa is chmoded 600.

Maybe, also, one of the users has listed a valid shell at /etc/passwd, 
while the other has not.

Good luck.

Regards, Ismael
--
Ismael Valladolid Torres, Technical Support
Oberthur Card Systems, Bajo Oficina C, Edificio Valrealty B
28023 La Florida - Madrid (Spain) - http://www.oberthurcs.com/
Tel. +34 917 355 461 - Fax: +34 917 355 453


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


Re: cvs update info

2003-02-21 Thread Steven Tryon
Rich,

cvs update update.txt ?
cvs update | less ?

Steve

On Thu, 2003-02-20 at 18:57, richard blair wrote:
 I perform a cvs update on a large directory structure, and a conflict 
 happens, but the file it happened on is too far up to scroll to.  Does 
 anyone know how to retrieve that information? In other words, how do I 
 find out which files were in conflict after I have performed an update?
 
 Rich

-- 
Steven Tryon, CIBER @ Xerox
Webmaster, Xerox Global Service Net
8*221-7719 / 585-231-7719



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



Re: cvs update info

2003-02-21 Thread cvs
Try using the attached perl script.  It cleans up the display quite
nicely, with a summary at the end for things like conflicts, files in the
way, etc.

 I perform a cvs update on a large directory structure, and a conflict
 happens, but the file it happened on is too far up to scroll to.  Does
 anyone know how to retrieve that information? In other words, how do I
 find out which files were in conflict after I have performed an update?

 Rich



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





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



Re: cvs update info

2003-02-21 Thread Mark Cooper
You don't say what operating system you are using, but whatever it is you 
should be able to redirect the output to a file, for example by doing:

cvs update  info.txt

Then you can browse the file with whatever text editor or viewer you like. 
If you are using a Unix-alike you could use 'more info.txt' to paginate 
the output, or on a WinDoze DOS client, use 'moreinfo.txt'.

Alternatively, if you are using a WinDoze client, you could try changing 
the screen buffer size (available through the 'properties' for the 
shortcut you use to invoke the command line) to something suitable, but 
this will depend on what is supported by your version of the OS.

HTH

Mark Cooper
Reuse Manager
Microlise Limited
http://www.microlise.co.uk
mailto:[EMAIL PROTECTED]


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



Re: cvs update info

2003-02-20 Thread Mark D. Baushke
richard blair [EMAIL PROTECTED] writes:

 I perform a cvs update on a large directory structure, and a conflict
 happens, but the file it happened on is too far up to scroll to.  Does
 anyone know how to retrieve that information? In other words, how do I
 find out which files were in conflict after I have performed an update?

If you run 'cvs -n update' again, the files that are in conflict will be
listed. You may also run the 'cvs status' command to see files that are
in conflict (File had conflicts on merge).

Enjoy!
-- Mark


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



Re: cvs update lag

2003-01-27 Thread Mark D. Baushke
[EMAIL PROTECTED] writes:

 We are seeing major lag when issuing cvs update .  in the root dir. of any of our 
dev's checkouts.
 
 (Major lag as in 5 mins. or MORE)
 
 A trace shows a long wait @  - unlink_file(CVS/Entries.Log).
 
 Our CVS server is FreeBSD. The main clients are Solaris and Linux.
 
 Any clues/hints/pointers of where I should be looking for the lag?

How big is the tree you are checking? Recall that the server builds up a
copy of the impacted files in /tmp/cvs-servrandom and that at the end
of the cvs update it will need to do the equivalent of a 

  rm -fr /tmp/cvs-servrandom

to remove any files that have collected on the server side of the
connection.

-- Mark


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



Re: cvs update

2002-10-08 Thread Larry Jones

[EMAIL PROTECTED] writes:
 
 The platform is windowsNT. It's a client server mode and I'm using
 cvsnt_1.11.1.3.

Is cvsnt the client as well as the server?  (I don't know much about
cvsnt -- it's a separate line of development from the standard CVS.)  If
so, perhaps you've found a bug, but I still think the most likely
problem is that your working directory is on a network share of some
kind that's not working right.  As far as CVS is concerned, it sounds
like you're not doing anything wrong.

-Larry Jones

I think we need to change the rules. -- Calvin


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



Re: cvs update

2002-10-07 Thread Larry Jones

[EMAIL PROTECTED] writes:

 MIME-Version: 1.0
 Content-Type: multipart/alternative; 

Please don't send MIME and/or HTML encrypted messages to the list.
Plain text only, PLEASE!

 Cvs[update aborted]: cannot rename file .new.delludf.jar to delludf.jar:
 No such file or directory. 
 
 Is this because of the .jar extension?

No.  Most likely, your local directory isn't really local and there
are bugs in your network file system (or at least incompatibilities with
CVS's expectations).  Another possibility is that your CVS wasn't
configured correctly for your platform.  It would help to know what
platform you're running on, whether you're running in local mode or
client/server mode, and what version(s) of CVS you're using.

-Larry Jones

What better way to spend one's freedom than eating chocolate
cereal and watching cartoons! -- Calvin


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



RE: cvs update

2002-10-07 Thread Gunjan_Gupta

The platform is windowsNT. It's a client server mode and I'm using
cvsnt_1.11.1.3.

I have some jar files that need to be updated so on the server side I've
added the .jar extension to the .cvswrapper file. And then I import the file
using jcvs. But I think somehow the files got corrupted cos I cannot open
them using win zip also on update. 

On update I'm not using any special switch or flag (cvs update moduleName).

Is this the correct way to handle jar files in cvs. I'm really really new to
cvs please help. I'll appreciate any help on how to handle  jar file
Gunjan
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] 
Sent: Monday, October 07, 2002 4:23 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: cvs update

[EMAIL PROTECTED] writes:

 MIME-Version: 1.0
 Content-Type: multipart/alternative; 

Please don't send MIME and/or HTML encrypted messages to the list.
Plain text only, PLEASE!

 Cvs[update aborted]: cannot rename file .new.delludf.jar to delludf.jar:
 No such file or directory. 
 
 Is this because of the .jar extension?

No.  Most likely, your local directory isn't really local and there
are bugs in your network file system (or at least incompatibilities with
CVS's expectations).  Another possibility is that your CVS wasn't
configured correctly for your platform.  It would help to know what
platform you're running on, whether you're running in local mode or
client/server mode, and what version(s) of CVS you're using.

-Larry Jones

What better way to spend one's freedom than eating chocolate
cereal and watching cartoons! -- Calvin



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



RE: cvs update

2002-09-06 Thread Anand Koppal

hi,
It will be the last committed timestamp according to me...

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
Jayashree
Sent: Friday, September 06, 2002 12:13 PM
To: [EMAIL PROTECTED]
Subject: cvs update



Hi,

$cvs status a.c 
File: a.cStatus: Locally Modified
   Working revision:1.40Mon Sep  2 20:46:00 2002
   Repository revision: 1.40/home/cvs/a.c,v

What does the time stamp  Mon Sep  2 20:46:00 2002 mean?
Is that the checkout/update time or checkin time of the file? 

Regards
Jayashree

***
This message is proprietary to Future Software Limited (FSL) 
and is intended solely for the use of the individual to whom it
is addressed. It may contain  privileged or confidential information 
and should not be circulated or used for any purpose other than for 
what it is intended. 

If you have received this message in error, please notify the
originator immediately. If you are not the intended recipient,
you are notified that you are strictly prohibited from using,
copying, altering, or disclosing the contents of this message. 
FSL accepts no responsibility for loss or damage arising from 
the use of the information transmitted by this email including
damage from virus.
***


___
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 update (cvs status shows CVS/Entries cached date/time)

2002-09-06 Thread Todd Denniston

Jayashree wrote:
 
 Hi,
 
 $cvs status a.c
 File: a.cStatus: Locally Modified
Working revision:1.40Mon Sep  2 20:46:00 2002
Repository revision: 1.40/home/cvs/a.c,v
 
 What does the time stamp  Mon Sep  2 20:46:00 2002 mean?
 Is that the checkout/update time or checkin time of the file?
 
 Regards
 Jayashree

cvs status a.c
ls -l a.c
#note timezone to GMT effect
sleep 60;touch a.c
cvs status a.c
ls -l a.c
#note no change from above
cp a.c a.c.bak
sleep 60;cp a.c.bak a.c;date
grep a\.c CVS/Entries
cvs status a.c;date
grep a\.c CVS/Entries
cvs status a.c;date
ls -l a.c
#note timezone to GMT effect
#A1: last time the local file was noted by cvs to have been written. 
#A2: last time the local file was written. 
#where written can be by cvs [checkout|update], save from your editor, cp.
cvs version
Concurrent Versions System (CVS) 1.11 (client/server)

CVS Gurus
Is this supposed to report the cached value, instead of the filesystem value
which it caches during the command (kind of surprised me) 
Unfortunately http://www.cvshome.org/docs/manual/cvs_17.html#SEC155 and
http://www.cvshome.org/docs/manual/cvs_10.html#SEC84 have the only detailed
Cederqvist info I could find on cvs status and neither documents the time field
for the Working revision.
So do we have an annoyance level buglet?

-- 
__
I'd crawl over an acre of 'Visual This++' and 'Integrated Development
That' to get to gcc, Emacs, and gdb.  Thank you.
-- Vance Petree, Virginia Power


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



Re: cvs update

2002-09-06 Thread Larry Jones

Jayashree writes:
 
 $cvs status a.c 
 File: a.cStatus: Locally Modified
Working revision:1.40Mon Sep  2 20:46:00 2002
Repository revision: 1.40/home/cvs/a.c,v
 
 What does the time stamp  Mon Sep  2 20:46:00 2002 mean?
 Is that the checkout/update time or checkin time of the file? 

Neither; or both, depending on how you look at it.  It's the timestamp
the file had the last time CVS checked that it was identical to revision
1.40.

-Larry Jones

Don't you hate it when your boogers freeze? -- Calvin


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



Re: cvs update, empty dirs, permission denied

2002-08-29 Thread sherzodr

 :If someone adds a empty directory to the cvs project, on the cvs server
 :the directory is there. 

To keep an emtpy directory insert a dummpy file in it called .keepme 
or something like that. 

--  
sherzodR




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



Re: cvs update and file date

2002-07-11 Thread Matt Riechers

Mirco Bova wrote:
 
 HEllo all,
 
 I noticed that when I delete a file from the working directory to restore it
 (i.e. I run cvs update on the entire directory) The file is restored but the
 modification date of the file is the current date/time instead the date/time
 when it was last commited or the original mod. date/time.
 
 This breaks my make chain leading to unwanted rebuild!
 
 Is there any way to avoid this?

I don't think so. Updating a file to old or new revisions means the file
has changed, and all changes should force a rebuild for the dependency
tree to remain consistent.

-Matt

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



Re: cvs update and file date

2002-07-11 Thread Eric Siegerman

On Thu, Jul 11, 2002 at 12:02:29PM +0200, Mirco Bova wrote:
 I noticed that when I delete a file from the working directory to restore it
 (i.e. I run cvs update on the entire directory) The file is restored but the
 modification date of the file is the current date/time instead the date/time
 when it was last commited or the original mod. date/time.
 
 This breaks my make chain leading to unwanted rebuild!

This behaviour is intentional, and the reason is specifically to
force a rebuild.  In your particular case, the rebuild might have
been unnecessary, but in general it's very necessary.  Suppose
foo.o was based on rev.  1.5 and you'd just gone cvs update
-r1.4 foo.c.  Or, closer to home, suppose foo.o was built from a
modified version of 1.5 (i.e. with not-yet-committed changes),
and you decided to revert the changes by doing exactly what you
in fact did.

--

|  | /\
|-_|/ Eric Siegerman, Toronto, Ont.[EMAIL PROTECTED]
|  |  /
Anyone who swims with the current will reach the big music steamship;
whoever swims against the current will perhaps reach the source.
- Paul Schneider-Esleben

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



Re: CVS Update from 1.10.7 - 1.11.1p1 or later

2002-06-10 Thread david

 Hello !
 
 I think, we will have to upgrade our CVS-server-binary (UNIX)
 in the nearest future, because we will need enhanced commands
 like 'rdiff', 'rlog', and so on ...
 
 What happens, if I upgrade my CVS-server from 1.10.7 to
 1.11.1p1, what should I take care of, especially with
 locally checked out copies and history files ?
 
 Is it just as easy like copying the new version over the
 old one, or will I have to run conversion-utilities, to
 make my files compatible with the new CVS ?
 
Once you've copied it over, do a cvs init.  I don't think it will
do anything in this case, but it's a good habit to develop when
upgrading CVS.  Other than that, yes, it is just that easy.

David H. Thornley| If you want my opinion, ask.
[EMAIL PROTECTED]   | If you don't, flee.
http://www.thornley.net/~thornley/david/ | O-

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



Re: CVS update bug

2002-04-04 Thread Kaz Kylheku

On Thu, 4 Apr 2002, Kaz Kylheku wrote:

 Date: Thu, 4 Apr 2002 11:31:08 -0800 (PST)
 From: Kaz Kylheku [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Subject: [self-mail] CVS update bug
 
 If you add files, and then switch to a branch, the files are not made
 sticky to that new branch. A subsequent commit succeeds, but for these
 added files it goes to the wrong place.   This breaks the classic CVS
 use case of hacking on some changes, and then later deciding to switch
 to a branch and commit there instead.  It was reproduced with CVS 1.11p1. 

Here is a patch, against the bleeding edge CVS. Here is how it
works. 

Firstly, in tag.c it defeats the stupid check that prevents tagging if
there are one or more locally added files. If an entry has no RCS
version file, we check its status. If its status is T_ADDED, then we
simply skip the file.

Secondly, in tag.c, there is a second check when an added file is being
tagged. We change the return value here to pretend that we did tag.
If we don't, it causes a problem in the case that the added files
are the *only* ones in the given directory. The problem is that the
tag won't then be written to val-tags, and CVS won't know that the
tag exists.

Lastly, in update.c, we add a case for T_ADDED. Register() is now
called to register the file in CVS/Entries. The version is specified
as the hard-coded string 0, mimicking what cvs add does.

So now you can create an empty project, cvs add a file, then 
cvs tag -b to create a branch, cvs update -r to switch to that branch,
and then commit the added file there.

? cvs.diff
Index: tag.c
===
RCS file: /cvs/ccvs/src/tag.c,v
retrieving revision 1.94
diff -u -r1.94 tag.c
--- tag.c   6 Jun 2001 19:43:04 -   1.94
+++ tag.c   5 Apr 2002 00:31:00 -
@@ -420,7 +420,7 @@
 char *xdir;
 Node *p;
 Vers_TS *vers;
-
+
 if (check_uptodate) 
 {
Ctype status = Classify_File (finfo, (char *) NULL, (char *) NULL,
@@ -466,11 +466,18 @@
 p-delproc = tag_delproc;
 if (vers-srcfile == NULL)
 {
-if (!really_quiet)
+int result = 1;
+   Ctype status = Classify_File (finfo, (char *) NULL, (char *) NULL,
+ (char *) NULL, 1, 0, vers, 0);
+
+   if (status == T_ADDED)
+   result = 0;
+
+if (result == 1  !really_quiet)
error (0, 0, nothing known about %s, finfo-file);
freevers_ts (vers);
freenode (p);
-   return (1);
+   return (result);
 }
 
 /* Here we duplicate the calculation in tag_fileproc about which
@@ -958,7 +965,7 @@
if (!quiet)
error (0, 0, couldn't tag added but un-commited file `%s', finfo-file);
freevers_ts (vers);
-   return (0);
+   return (1);
 }
 else if (version[0] == '-')
 {
Index: update.c
===
RCS file: /cvs/ccvs/src/update.c,v
retrieving revision 1.197
diff -u -r1.197 update.c
--- update.c8 Jul 2001 20:51:46 -   1.197
+++ update.c5 Apr 2002 00:31:00 -
@@ -770,6 +770,12 @@
retval = checkout_file (finfo, vers, 0, 0, 1);
break;
case T_ADDED:   /* added but not committed */
+   /* Reregister to set any sticky tag, so when the
+  add is committed, it goes to the right place. */
+   Register (finfo-entries, finfo-file, 
+ 0, vers-ts_rcs,
+ vers-options, vers-tag,
+ vers-date, (char *)0);
write_letter (finfo, 'A');
retval = 0;
break;

-- 
Meta-CVS: solid version control tool with directory structure versioning. 
http://users.footprints.net/~kaz/mcvs.html


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



Re: CVS update bug

2002-04-04 Thread Greg A. Woods

[ On Thursday, April 4, 2002 at 16:38:32 (-0800), Kaz Kylheku wrote: ]
 Subject: Re: CVS update bug

 Firstly, in tag.c it defeats the stupid check that prevents tagging if
 there are one or more locally added files. If an entry has no RCS
 version file, we check its status. If its status is T_ADDED, then we
 simply skip the file.

That's not exactly a stupid check -- an added file _is_ a modified file
until it has been committed.

That check should only be disabled if 'cvs tag -c' was given
(i.e. check_uptodate is set)

-- 
Greg A. Woods

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

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



Re: CVS update bug

2002-04-04 Thread Kaz Kylheku

On Thu, 4 Apr 2002, Greg A. Woods wrote:

 Date: Thu,  4 Apr 2002 21:15:30 -0500 (EST)
 From: Greg A. Woods [EMAIL PROTECTED]
 Reply-To: CVS-II Discussion Mailing List [EMAIL PROTECTED]
 To: Kaz Kylheku [EMAIL PROTECTED]
 Cc: [EMAIL PROTECTED]
 Subject: Re: CVS update bug
 
 [ On Thursday, April 4, 2002 at 16:38:32 (-0800), Kaz Kylheku wrote: ]
  Subject: Re: CVS update bug
 
  Firstly, in tag.c it defeats the stupid check that prevents tagging if
  there are one or more locally added files. If an entry has no RCS
  version file, we check its status. If its status is T_ADDED, then we
  simply skip the file.
 
 That's not exactly a stupid check -- an added file _is_ a modified file
 until it has been committed.

The check I disabled (or rather altered) is not the local modification
check.  It's a separate check for the a missing RCS file.

 That check should only be disabled if 'cvs tag -c' was given
 (i.e. check_uptodate is set)

That check is not conditional to -c; it happens without -c. If you
tag over some locally added file without -c, you will get the error 
``nothing known about file'' and the tagging will fail.

The old logic was:

if (no RCS file) 
problem

My fix has this:

if (no RCS file) 
if (locally added)
okay
else
problem

-- 
Meta-CVS: solid version control tool with directory structure versioning. 
http://users.footprints.net/~kaz/mcvs.html


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



Re: cvs update to branch with -f option

2002-03-15 Thread Larry Jones

[EMAIL PROTECTED] writes:
 
 Each branch has a few developers working on a handful of files.  A
 developer working in a branch performs a checkout for the branch with the
 -f option, giving him an entire repository to work from consisting of the
 branched files, and the remainder of the repository from the main trunk.
 This developer then commits his changes to the branch for the other
 developers working in his branch.  The other developers working in that
 branch then perform an update to the branch with the -f option, again
 giving them the files committed by other developers in that branch and the
 remainder of the repository from the main trunk.
 
 This method works well for us, except when the -f option is used, I would
 like to get the non-matching files from a tag, rather than from the main
 trunk (eg HEAD).

Branch the entire repository and stop using -f.  Branches are cheap,
particularly if you never commit anything on them.  And by branching
everything, you can branch wherever you want to get particular revisions
of certain files (e.g., at a particular tag).

-Larry Jones

I told her to expect you to deny everything. -- Calvin

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



Re: cvs update to branch with -f option

2002-03-15 Thread Bob Bowen

Larry Jones wrote:
 
 [EMAIL PROTECTED] writes:
 
  Each branch has a few developers working on a handful of files.  A
  developer working in a branch performs a checkout for the branch with the
  -f option, giving him an entire repository to work from consisting of the
  branched files, and the remainder of the repository from the main trunk.
  This developer then commits his changes to the branch for the other
  developers working in his branch.  The other developers working in that
  branch then perform an update to the branch with the -f option, again
  giving them the files committed by other developers in that branch and the
  remainder of the repository from the main trunk.
 
  This method works well for us, except when the -f option is used, I would
  like to get the non-matching files from a tag, rather than from the main
  trunk (eg HEAD).
 
 Branch the entire repository and stop using -f.  Branches are cheap,
 particularly if you never commit anything on them.  And by branching
 everything, you can branch wherever you want to get particular revisions
 of certain files (e.g., at a particular tag).

The disadavantage to branching the entire repository is that you have to do
unnecessary maintenance to keep up with changes in areas that you aren't
changing. So, when you say branches are cheap, I'm not sure that you're
accounting for the entire cost. The overhead in the CVS implementation is fairly
cheap (once you have spent the time to create them), but the total cost in
making sure you have the right content can be considerable.

(This is one useful thing about ClearCase's config specs - it enables you to
select the appropriate version of various parts of your tree.)

The way we've worked around this (which is admittedly a kludge, but it gets what
we need) is to define modules which correspond to the populations of the various
branches and then do a series of checkouts to construct the versions you need.
If you have cases where the modules overlap in some way, always check out the
default versions first to set up the complete tree and then successive
checkins will replace the more specific files that you want. It doesn't work if
you do it in the opposite order because CVS doesn't have a good way to express
the complement of a module.

Running update in this hybrid workspace generally does what you want because for
each file it updates the version according to the sticky tags for that file.
Adding new files and directories in this situation does take special care to
make sure things are going to the right branch. Realize also, that when you want
to update your base versions, you have to completely reconstruct the workarea
- the checkout ordering is extremely important.

Like I said, this isn't pretty, but it is possible. The complexity involved has
more to do with the limitations of module naming than having the ability to
default to a tag. I've raised the issue of -f behavior before in this forum and
the general consensus is that it doesn't work in any useful fashion.

Hope this helps,

=Bob=

Bob Bowen  [EMAIL PROTECTED]  Process Engineering  (952)876-4635

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



Re: cvs update to branch with -f option

2002-03-15 Thread David Taylor

Bob Bowen wrote:

 Larry Jones wrote:
 
  Branch the entire repository and stop using -f.  Branches are cheap,
  particularly if you never commit anything on them.  And by branching
  everything, you can branch wherever you want to get particular revisions
  of certain files (e.g., at a particular tag).

 The disadavantage to branching the entire repository is that you have to do
 unnecessary maintenance to keep up with changes in areas that you aren't
 changing.

Sorry, but I don't understand this. Could you detail what you mean by maintenance
to keep up with changes in areas that you aren't
changing? Perhaps an example would clear things up for me.

I'm curious because I've never run into any problems with  branching beyond the
scope developers *believe* changes will be limited to.  Yet, doing so eliminates
the frequent iterations  of branching (and the bottleneck of having to stop
development until the request and implementation of the branch is complete) that we
would've run into otherwise.

thanks,
dtayl



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



Re: CVS Update Behaviour

2002-02-27 Thread Paul Sander

--- Forwarded mail from [EMAIL PROTECTED]

[ On Tuesday, February 26, 2002 at 16:19:11 (-0800), Paul Sander wrote: ]
 Subject: Re: CVS Update Behaviour

 --- Forwarded mail from [EMAIL PROTECTED]
 
 [ On Tuesday, February 26, 2002 at 10:27:23 (-0800), Paul Sander wrote: ]
  Subject: Re: CVS Update Behaviour
 
  inclusion, the relationship between the two files becomes variable.
  In the event that a file is moved into a shared module and at a later
  time the target file's history is needed (from within a module other
  than the original one), there's no record of its original module in
  the comment.
 
 But that is definitely not the general case.
 
 It may not be the absolute most common case (trivial module declarations
 are), but it falls well within the normal bounds of modules database usage.

No, not even the normal bounds -- only the possible bounds.

Actually, using trivial modules exposes the problem as well.  Consider
the following three module definitions:

top project
part1-mod project/part1
part2-mod project/part2

Now perform this sequence:

cvs checkout top
cd top/part1
mv some-file ../part2
cvs rm some-file
( cd ../part2  cvs add some-file )
cd ..
cvs commit -m moved some-file to ../part2/somefile
cd ..
cvs release top
cvs checkout part1-mod
cd part1-mod
cvs log some-file

The last thing that appears in some-file's history is
moved some-file to ../part2/somefile.  This is totally meaningless
because there is no ../part2 directory, and the user has no way to
determine where it is.  This is why the rename feature MUST record the
location of the RCS file, so that the user can find it with something
like cvs rlog.

There have been many discussions, and there's even documentation in
several places, telling all who'll read it that using non-trival modules
declarations is like dancing with the devil -- you will encounter problems!

Side note:  I can find only one reference to a problem with the modules
database at all in the Cederqvist manual.  And it says to not to rely on
misleading progress messages during checkout of ampersand modules.  There
is no mention of the problems that have been discussed at length in this
forum in the past.

--- End of forwarded message from [EMAIL PROTECTED]


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



OT RE: CVS Update Behaviour

2002-02-27 Thread Daniels, David

While this conversation has been entertaining, I think it's time to take it
off-list.

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, February 27, 2002 10:37 AM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: CVS Update Behaviour


[ On Tuesday, February 26, 2002 at 23:51:29 (-0800), Paul Sander wrote: ]
 Subject: Re: CVS Update Behaviour

 My point was that very few programmers, including the seasoned toolsmiths
 who read this list, know and regularly use all of the tools at their
 disposal.

Then you have confirmed that your point is irrelevant, just as I said it
was.

  Yes, some of the tools I listed are nearly worthless (or at
 least have better alternatives).  And in my world, patch also falls
 into that category.  (I don't know why Greg seems to have a problem with
 this fact.)

I have no problem with the fact you consider 'patch' to be useless for
your needs.  I do have a very major problem with the fact that you don't
have any alternative that's better for your needs.  This is clearly why
you've had so much problems with file renames.  Clearly you should be
using 'patch' (or desparately trying to find something equally capable)
because it solves problems you've apparently left un-solved and which
you've continually whined and moaned about in this forum for literally
years now.

-- 
Greg A.
Woods

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

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

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



Re: CVS Update Behaviour

2002-02-27 Thread Greg A. Woods

[ On Wednesday, February 27, 2002 at 01:04:34 (-0800), Paul Sander wrote: ]
 Subject: Re: CVS Update Behaviour

 Actually, using trivial modules exposes the problem as well.  Consider
 the following three module definitions:
 
 top project
 part1-mod project/part1
 part2-mod project/part2

You've created an alias without really telling CVS about it.  This is
like aliasing a pointer in C.  How could even a magical new CVS which
had full rename support understand what you intend?  Not even the CVS
manual suggests using such ambiguous (broken) constructs (though older
examples, and IIRC the original paper, do suggest such dangerous things)

I've only once ever created modules like above, and in that case I was
very careful to document that the 'top' module was only ever to be used
by the release manager.

 Side note:  I can find only one reference to a problem with the modules
 database at all in the Cederqvist manual.  And it says to not to rely on
 misleading progress messages during checkout of ampersand modules.  There
 is no mention of the problems that have been discussed at length in this
 forum in the past.

Indeed the CVS manual is seriously lacking w.r.t. documenting the
implications and limitations about modules support.  I've never claimed
otherwise.

-- 
Greg A. Woods

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

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



Re: CVS Update Behaviour

2002-02-27 Thread Donald Sharp

Hey -

Can you guys take this offline?

thanks!

donald
On Wed, Feb 27, 2002 at 11:37:10AM -0500, Greg A. Woods wrote:
 [ On Tuesday, February 26, 2002 at 23:51:29 (-0800), Paul Sander wrote: ]
  Subject: Re: CVS Update Behaviour
 
  My point was that very few programmers, including the seasoned toolsmiths
  who read this list, know and regularly use all of the tools at their
  disposal.
 
 Then you have confirmed that your point is irrelevant, just as I said it was.
 
   Yes, some of the tools I listed are nearly worthless (or at
  least have better alternatives).  And in my world, patch also falls
  into that category.  (I don't know why Greg seems to have a problem with
  this fact.)
 
 I have no problem with the fact you consider 'patch' to be useless for
 your needs.  I do have a very major problem with the fact that you don't
 have any alternative that's better for your needs.  This is clearly why
 you've had so much problems with file renames.  Clearly you should be
 using 'patch' (or desparately trying to find something equally capable)
 because it solves problems you've apparently left un-solved and which
 you've continually whined and moaned about in this forum for literally
 years now.
 
 -- 
   Greg A. Woods
 
 +1 416 218-0098;  [EMAIL PROTECTED];  [EMAIL PROTECTED];  [EMAIL PROTECTED]
 Planix, Inc. [EMAIL PROTECTED]; VE3TCP; Secrets of the Weird [EMAIL PROTECTED]
 
 ___
 Info-cvs mailing list
 [EMAIL PROTECTED]
 http://mail.gnu.org/mailman/listinfo/info-cvs

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



Re: CVS Update Behaviour

2002-02-26 Thread Paul Sander

--- Forwarded mail from [EMAIL PROTECTED]

[ On Monday, February 25, 2002 at 00:17:58 (-0800), Paul Sander wrote: ]
 Subject: Re: CVS Update Behaviour

 Renames are not usually a requirement of maintenance, but they are a
 requirement of new development.  Bug fixes are done during maintenance,
 and merged into new development.  That means that bug fixes are merged
 into new development, often after prior new development involved renames.
 This mode of operation is common!  Sometimes renames are done on a task
 branch and folded into the next release

It is extremely rare for bug fix merges to work automatically with CVS
commands alone, with or without any renames getting in the way.

First of all, I don't believe that I have implied that merges complete
automatically in the general case.  There will be occasional conflicts
that require manual intervention, but that's the case with any merge
in which there are changes committed on both branches.

But it has been my experience that they work as well as merges performed
while updating in new development.  This is because bug fixes tend to
be small and localized, within established artifacts that aren't modified
during new development.  (In those rare events where there is a conflict,
the new development usually involves additions, rather than changes and
deletions.  I'm not sure if that fact makes life easier or harder, but
it's worth pointing out that observation.)

If the
maintenance programmers don't understand explicitly what they're doing
then they will not succeed.  If you've seen such problems so often then
you've been working with people who do not understand what they are
doing, and that's very dangerous for the product they're working on.

There's a distinction between maintenance programmer who make bug fixes
on maintenance branches, vs. new development programmers who merge bug
fixes from the maintenance branches into the next release.  It so happens
that in my world, the two sets of programmers are the same people, but
that's not the general case.  Anyway, the people performing the merge
are expected to know what they're doing with respect to making sure that
the result of the merge meets its specification, i.e. contains both the
bug fix and the new functionality without introducing new bugs.  They're
pretty good at that.

 and I've seen this more often
 than I care to remember on vendor branches.

huh?  what do vendor branches have to do with this?  If you don't
understand that you have to manually move changes between files that
have been renamed by the vendor then you should not be messing with such
complicated things that you do not understand.

Vendor branches are no different from any other branch, as far as
renames are concerned.  Renames performed on the vendor branch must
migrate to other branches when merges are performed.

 When's the last time anyone's used tsort(1), join(1) or fmt(1), or even
 cut(1), paste(1) or fold(1), and Greg's favorite ed(1), even on this list
 that's full of toolsmiths?

Hmmm... I don't use fmt or fold, or cut  paste very often, but that's
because I use better tools to do what they can do  I certainly do
know of their existance though, and what they could do if I needed them.

In other words, even you don't use all of the tools that are at your
disposal. You just the ones you prefer to use.  Sounds familiar.

--- End of forwarded message from [EMAIL PROTECTED]


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



Re: CVS Update Behaviour

2002-02-26 Thread Paul Sander

--- Forwarded mail from [EMAIL PROTECTED]

[ On Sunday, February 24, 2002 at 20:13:51 (-0800), Noel Yap wrote: ]
 Subject: Re: CVS Update Behaviour

 --- Greg A. Woods [EMAIL PROTECTED] wrote:
  patch has been a standard tool in unix development for nearly two
  decades now.  Prior to that the commonly used tool that can do the exact
  same job with only slightly less success and using the exact same tool
  to create the diff, was called 'ed'.  It's been around for over three
  decades now.  Time to crawl out from under your rock and get with the
  program Paul!
 
 Greg, your experience is not the norm.  Most
 developers, possibly sadly, aren't familiar with the
 whole gamut of available commands.

Any so-called developer who is not familiar enough with the tools used
daily to do his or her job is not really a developer.  Some idiot might
pay such a person to be a developer, but that doesn't make them a
developer in the real world -- only in the imaginations of the employer
and the employee.

Someone not familiar enough with the tools used daily to do his or her
job, etc. etc.  I think the point that Noel and I are trying to make is
that tools like patch are not used daily by the developers to get their
jobs done.  It just isn't needed and remain unknown for that reason.

The tools I refer to are very plainly documented in the CVS manual and
the CVS unix-style manual page.  Even a simple skim through the manual
page for GNU diff (the diff used with CVS, though unfortunately it's not
shipped with CVS) will also reference the manual page for 'ed' and
'patch', and gives quite strong hints at how to use these tools to
mechanically re-apply changes with them.  Anyone claiming to be a
developer but not able to figure this out on their own really needs to
be smacked with something a lot harder than a clue-by-4!

Why bother with patch when merge is better?  Or even better yet,
cvs update?

 Furthermore, to do a proper merge, one needs three
 files.  I think patch is incomplete since all the
 information between the ancestor revision and the
 current file is completely lost.

You're on strange drugs again my friend.  The patch input file will only
be incomplete if you fail to generate it properly.

  One of the first
 lines in the output of man patch hints at this: 
 
 patch - apply a diff file to an original

Uh hug.  Diff and diff3 produce diff files.  Patch takes the output of
diff _or_ diff3 as input.

Interesting, I just read the man page for patch again, and it
doesn't mention diff3.  According to this, all that patch does
is it takes the difference between one file and another, applies
the difference to a copy of the first file to produce a copy of
the second file.

This is a simple 2-way merge, which we all know is inferior to
3-way merges because they don't account for situations in which
the delta is applied to something that isn't identical to the first
file.

 Since, when merging, one doesn't apply a diff file to
 _the original_, patch isn't really the ideal tool to
 do it.

Well, first off, it seems you've got to learn a wee bit more about how
'diff' and 'patch' work conceptually before you'll realise that to an
original does not mean what you think it means.  Every newbie may
suffer the same mis-interpretation, but I'm not sure that means the
phrase is wrong in the context it is in.

After reading the man page again, I believe that original means a
file that is bit-for-bit identical to one of the files involved in
creating the difference that is fed to the the patch program.  However,
if the difference is presented in the context of surrounding lines,
then the patch program can be instructed to fudge a little on the
context.  But my experience with it does not indicate that it fudges
at all with the actual delta, but rather creates a second file
containing the changes it could not apply due to conflicts.  It
also refuses to apply a difference if it has to fudge too much.

I personally find diff3's mark-ups to be easier to work with than a
bunch of .rej files.

--- End of forwarded message from [EMAIL PROTECTED]


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



Re: CVS Update Behaviour

2002-02-26 Thread Greg A. Woods

[ On Sunday, February 24, 2002 at 20:24:15 (+0100), Nagy Gabor wrote: ]
 Subject: Re: CVS Update Behaviour

 I think renaming and moving files accross directories is nice to have.
 I don't think it is necessary, in a way that I can live without this
 feature. 
 
 But if I think that this would make my life easier, don't try to tell me,
 I shouldn't _think_ that.

You should not be using CVS if you think it should automatically handle
all manner of renames and hide all the resulting issues from the user.

CVS is designed for use in those scenarios where using RCS alone would
cause your developers to rip the hair from their scalps (and/or from the
scalps of their colleagues).  RCS clearly only manages files -- on its
own it doesn't even have a way of removing a file, except by not tagging
it for inclusion in release, or not branching it.

CVS already handles file renames in an adequate manner, with much more
support than RCS (files can be removed from normal view!).  It does not
try to hide renames from the user though.  This is a good thing.  There
are many issues fall out of renaming files.  These issues are generally
not well understood and the users of CVS need to be well aware of
renames that have happened so that they can deal with these issues
properly.

 When I discovered cvs did not know this, I was puzzled, and sad.

I am puzzled and sad that you could not figure this out on first meeting
and learning CVS.  It really should be as self evident as it is well
documented in the manual.

 And I still long for the mapping of entities to filenames. What I would
 like to see, is a kind of Inode way of storing things in the repository.
 Multiple names of the same entity, renames, anything. And one
 representation

You really need to learn more about how CVS works internally.  If you
had chosen CVS because RCS was insufficient for your needs then I think
you would be happy not to have such a mapping layer.  CVS handles
renames by way of removing and adding files.  No history is lost, but
also no complications are introduced by such a mapping layer.

 Lastly: If there is something that doesn't hurt you, (you can cat a
 file to another name and rm the old one, don't have to mv, so you can do
 it as you always did) but others would like to have that particular
 feature, why object? Why do you want to judge if it is rightfully needed
 by others?

Implementing a mapping layer in CVS will hurt CVS.  It is impossible to
implement such a mapping layer without destroying backwards
compatability.  CVS is highly valued by many of its users because it
simply automates what can be done tediously with RCS alone.  This means
that CVS does not implement a proprietary repository format that
cannot be moved with ease to other tools that understand the same
format, and indeed the RCS format is widely understood both by tools and
by humans.  It is stable and quite capable for the basic requirement of
the job.

-- 
Greg A. Woods

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

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



RE: CVS Update Behaviour

2002-02-26 Thread Paul Sander

--- Forwarded mail from [EMAIL PROTECTED]

 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
 
 [ On Monday, February 25, 2002 at 00:17:58 (-0800), Paul 
 Sander wrote: ]
  Subject: Re: CVS Update Behaviour

 huh?  what do vendor branches have to do with this?  If you don't
 understand that you have to manually move changes between files that
 have been renamed by the vendor then you should not be 
 messing with such
 complicated things that you do not understand.
 
It seems to me that the question is not understanding, but whether it
is desirable.  It would be nice if CVS would track vendor renames, but
it would have to be able to figure out vendor renames, and in any case
the sources we track tend to be kept in CVS anyway, so the supplier is
unlikely to rename things gratuitously.

I had one that did rename things gratuitously.  Actually, I had two.
One of them changed hyphens to underscores in directory names, the
other performed the following swap:  a/b/c/d -- a/c/b/d

Both of these are conceptually simple changes, and the contents of
of the directories were not themselves renamed and contained
substantially the same bits.  It was rediculous to have to fragment
my version histories for these large trees just for this, but it
was the CVS way and it had to be done.

Sun did the first of these to me in their documentation for the
Solaris operating system.  Sun and USL did the second one to me
with the Solaris and System V kernels.  The workaround we employed
for both of these was to create new modules, but everyone exposed to
these was very unhappy with that solution specifically due to the
fragmented version history as well as the need to keep two sandboxes
and laboriously merge local changes into the vendor drops.  Performing
the merge was very time-consuming, and using cvs update instead would
have reduced the effort by about 40%.

--- End of forwarded message from [EMAIL PROTECTED]


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



Re: CVS Update Behaviour

2002-02-26 Thread Paul Sander

--- Forwarded mail from [EMAIL PROTECTED]

[ On Monday, February 25, 2002 at 10:46:14 (-0800), Paul Sander wrote: ]
 Subject: Re: CVS Update Behaviour

 --- Forwarded mail from [EMAIL PROTECTED]
 
 Free software development depends critically on patch. Just about anyone
 involved in it must know how to produce and apply patches.
 
 Most of the people I work with don't produce free software, or at least
 they don't collaborate in producing it.

That's totally irrelevant.  If they're doing any kind of development
these days then they really _MUST_ keep themselves aware of free
software, and especially of free software development tools.  That goes
double if they're using a free software tool in a central part of their
development process!

No, they must keep themselves up with the tools they use, regardless of
whether or not they are free ones.

  I do produce free software, and
 I still use patch only once in 2-3 years.

You do use 'patch' every time you do a merge with CVS, and indeed almost
every time you do a cvs update from a remote server!  Sure it's built
into the CVS client now, but it still tells you with the 'P' it shows.

Really?  I thought that CVS fell back to something else if patch was
unavailable  In any case, *I* use cvs update and I don't care
what goes on beneath the covers as long as the result is what I expect.

More importantly you also use free software, obviously, and if you are
avoiding using 'patch' by manually applying all the disributed diffs you
hopefully use with that free software then you really should learn to
use 'patch' -- it makes such tedious work far less error-prone.

I just download the new distribution and check it in.  For me, that's
much faster, easier, and reliable than exporting, patching, and importing.
As an obvious side-effect of this practice, I don't have to use patch.
That applies to most of my coworkers as well.

BTW, 'patch' is a _standard_ Unix tool.  It's documented in The Single
UNIX Specification, and it will be in IEEE Std. 1003.2b.

Fine.  So are cut and paste.  You don't use them (preferring to
use something else that better fits your need, see quote below), so
why should my colleagues use patch if they prefer using something
else that better fits their need?

  The free software community
 remains a surprisingly small one, compared to the total size of the
 industry, and it's my job to support people who are not part of that
 small community.

So many people in the software industry would like to think.  However if
you're using CVS (and maybe other core tools like GCC and such), then
you're either hiding from reality, or purposefully subverting it, or both.

I.e. if you're using CVS then you are part of that community, like it or not.

There's the free software community in the sense of people who use
free software, and there's the free software community in the sense of
people who publish free software.  It was clear in the context of the
two quotes to which you refer that I meant the latter of the two.  In
that small community, I don't dispute (in writing) that patch is a
critical tool.  I do claim that in the larger community of users, patch
is not a requirement.  And don't split hairs claiming that one is a
proper subset of the other and how can it be critical on the one hand and
not on the other; you know what I mean.

--- End of forwarded message from [EMAIL PROTECTED]


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



Re: CVS Update Behaviour

2002-02-26 Thread Greg A. Woods

[ On Sunday, February 24, 2002 at 22:09:31 (-0800), Paul Sander wrote: ]
 Subject: Re: CVS Update Behaviour

 Hmmm...  Let's recap:
 
   cp $1 $2
   cvs rm -f $1
   cvs add $2
   cvs commit -m moved $1 to $2 $1 $2
 
 Where is the *location of the RCS file* recorded in the comment?

You don't need to know the location of the RCS files -- that's internal
to CVS and not for human consumption.  It's of no use in a client-server
invocation in any case.

You don't need to know it because of course the pathnames given in the
parameters $1 and $2 will always have a fixed relationship to each other
and that relationship is sufficient to transform either into the
pathname necessary for use with 'cvs log' or 'cvs update -p', etc. no
matter where the reader starts from (so long as they are within a
working directory for the same module and so long as they know where
they are with relation to the log they're currently reading).  This is
really very trivial pathname stuff -- I don't understand why you even
think it's an issue.

Obviously there's a bit more of a trick necessary than my example
alludes to since 'cvs add' doesn't yet work for relative pathnames!  ;-)

-- 
Greg A. Woods

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

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



Re: CVS Update Behaviour

2002-02-26 Thread Nagy Gabor

On 02-Feb-25 17:54, Greg A. Woods wrote:
  When I discovered cvs did not know this, I was puzzled, and sad.
 I am puzzled and sad that you could not figure this out on first meeting
 and learning CVS.  It really should be as self evident as it is well
 documented in the manual.

That's where I found it. I figured it out the first time I tried to use
this feature.

 You really need to learn more about how CVS works internally.

Maybe.

 If you had chosen CVS because RCS was insufficient for your needs then
 I think you would be happy not to have such a mapping layer.  CVS handles
 renames by way of removing and adding files.  No history is lost, but
 also no complications are introduced by such a mapping layer.

I never used RCS. I was looking for a version control system for my own
stuff after using PVCS in my job. I also used VSS later for something else.
For my Linux CVS appeared to be the best choice, supported, documented,
lot of people using it.

If I don't use CVS, which version control system would you suggest which
is free, and does all what I want? (OK, I'll check metacvs out)

 Implementing a mapping layer in CVS will hurt CVS.  It is impossible to
 implement such a mapping layer without destroying backwards
 compatability.

I don't know the internals enough. I don't really care about backward
compatibility. Surely it has to be a possibility for people who need that.

 CVS is highly valued by many of its users because it
 simply automates what can be done tediously with RCS alone.  This means
 that CVS does not implement a proprietary repository format that
 cannot be moved with ease to other tools that understand the same
 format, and indeed the RCS format is widely understood both by tools and
 by humans.  It is stable and quite capable for the basic requirement of
 the job.

OK. I don't know how hard it would be to implement this, what the
implications were. If you say, it would be inefficient, I would accept that
answer. If you say that you don't need that feature, that's silly.

Thanks for the answer
Gee

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



Re: CVS Update Behaviour

2002-02-26 Thread Noel Yap

--- Greg A. Woods [EMAIL PROTECTED] wrote:
 [ On Sunday, February 24, 2002 at 22:09:31 (-0800),
 Paul Sander wrote: ]
  Subject: Re: CVS Update Behaviour
 
  Hmmm...  Let's recap:
  
cp $1 $2
cvs rm -f $1
cvs add $2
cvs commit -m moved $1 to $2 $1 $2
  
  Where is the *location of the RCS file* recorded
 in the comment?
 
 You don't need to know the location of the RCS files
 -- that's internal
 to CVS and not for human consumption.  It's of no
 use in a client-server
 invocation in any case.

Oh, I think I see.  The wrapper would parse the output
of the comment (hoping that it doesn't get confused
with comments that merely /look/ like rename
comments), and follow the chain of renames.

This sounds slow since it'll require a CVS invocation
for each rename.  It's also a little brittle in that
if there's a new CVS command, one would need to wrap
that as well (unless you pass all commands to CVS and
make it handle bad commands).

 You don't need to know it because of course the
 pathnames given in the
 parameters $1 and $2 will always have a fixed
 relationship to each other
 and that relationship is sufficient to transform
 either into the
 pathname necessary for use with 'cvs log' or 'cvs
 update -p', etc. no
 matter where the reader starts from (so long as they
 are within a
 working directory for the same module and so long as
 they know where
 they are with relation to the log they're currently
 reading).  This is
 really very trivial pathname stuff -- I don't
 understand why you even
 think it's an issue.

You're assuming no absolute paths are given to the
command.

Noel

__
Do You Yahoo!?
Yahoo! Sports - Coverage of the 2002 Olympic Games
http://sports.yahoo.com

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



Re: CVS Update Behaviour

2002-02-26 Thread Noel Yap

--- Greg A. Woods [EMAIL PROTECTED] wrote:
 You really need to learn more about how CVS works
 internally.  If you
 had chosen CVS because RCS was insufficient for your
 needs then I think
 you would be happy not to have such a mapping layer.
  CVS handles
 renames by way of removing and adding files.  No
 history is lost, but
 also no complications are introduced by such a
 mapping layer.

What complications are you implying?

 Implementing a mapping layer in CVS will hurt CVS. 
 It is impossible to
 implement such a mapping layer without destroying
 backwards
 compatability.  

Like I said before, one would be destroying forward
compatibility, not backward compatibility.  I see
nothing wrong with doing this, since if you need to
maintain forward compatibility, don't use the new
feature (ie cvs mv).

Noel

__
Do You Yahoo!?
Yahoo! Sports - Coverage of the 2002 Olympic Games
http://sports.yahoo.com

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



Re: CVS Update Behaviour

2002-02-26 Thread Paul Sander

--- Forwarded mail from [EMAIL PROTECTED]

[ On Sunday, February 24, 2002 at 22:09:31 (-0800), Paul Sander wrote: ]
 Subject: Re: CVS Update Behaviour

 Hmmm...  Let's recap:
 
   cp $1 $2
   cvs rm -f $1
   cvs add $2
   cvs commit -m moved $1 to $2 $1 $2
 
 Where is the *location of the RCS file* recorded in the comment?

You don't need to know the location of the RCS files -- that's internal
to CVS and not for human consumption.  It's of no use in a client-server
invocation in any case.

You don't need to know it because of course the pathnames given in the
parameters $1 and $2 will always have a fixed relationship to each other
and that relationship is sufficient to transform either into the
pathname necessary for use with 'cvs log' or 'cvs update -p', etc. no
matter where the reader starts from (so long as they are within a
working directory for the same module and so long as they know where
they are with relation to the log they're currently reading).  This is
really very trivial pathname stuff -- I don't understand why you even
think it's an issue.

What you say is only true if both the source and destination of
the rename are contained within the same module for the lifetime
of the file, and that that module is the only one that contains
them.  But that is not the general case.

When the module is not defined trivially, i.e. it uses aliases or
inclusion, the relationship between the two files becomes variable.
In the event that a file is moved into a shared module and at a later
time the target file's history is needed (from within a module other
than the original one), there's no record of its original module in
the comment.

This situation is complicated further in the event that the modules
database is modified and the original directory is no longer included
in the old module definition.

--- End of forwarded message from [EMAIL PROTECTED]


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



Re: CVS Update Behaviour

2002-02-26 Thread Greg A. Woods

[ On Tuesday, February 26, 2002 at 01:29:49 (-0800), Paul Sander wrote: ]
 Subject: Re: CVS Update Behaviour

 BTW, 'patch' is a _standard_ Unix tool.  It's documented in The Single
 UNIX Specification, and it will be in IEEE Std. 1003.2b.
 
 Fine.  So are cut and paste.  You don't use them (preferring to
 use something else that better fits your need, see quote below), so
 why should my colleagues use patch if they prefer using something
 else that better fits their need?

You really do know how to get off track and squirm out from under the
pressure when you've been caught off-gaurd with a real answer to the
original question you asked.

So, if we take this squirming full circle then what better tools do you
and your colleagues use to apply changes in the form of diff output to
files?

If you really can't figure out the difference between knowing which tool
in the toolbox is best to use for a given situation, and not even
knowing what tools are in the toolbox in the first place, then you
really should think twice before perpetuating debates such as these with
your ill-informed ideas.

-- 
Greg A. Woods

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

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



Re: CVS Update Behaviour

2002-02-26 Thread Greg A. Woods

[ On Tuesday, February 26, 2002 at 00:27:36 (-0800), Paul Sander wrote: ]
 Subject: Re: CVS Update Behaviour

 Why bother with patch when merge is better?  Or even better yet,
 cvs update?

You haven't been paying attention, have you.  The answer to your
questions was what started this debate in the first place.

 Interesting, I just read the man page for patch again, and it
 doesn't mention diff3.  According to this, all that patch does
 is it takes the difference between one file and another, applies
 the difference to a copy of the first file to produce a copy of
 the second file.

And what can produce a difference between one file and another?  Why
'diff3' can!  Oh!  Wow!  What revalation!  (obviously it does a wee bit
more than that, but only slightly)

 This is a simple 2-way merge, which we all know is inferior to
 3-way merges because they don't account for situations in which
 the delta is applied to something that isn't identical to the first
 file.

Hmmm so you really don't understand what 'diff3' does, eh?  RTFM my
friend, and then play some games with it.  Perhaps someday you'll see
the light.

-- 
Greg A. Woods

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

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



Re: CVS Update Behaviour

2002-02-26 Thread Paul Sander

--- Forwarded mail from [EMAIL PROTECTED]

[ On Tuesday, February 26, 2002 at 01:29:49 (-0800), Paul Sander wrote: ]
 Subject: Re: CVS Update Behaviour

 BTW, 'patch' is a _standard_ Unix tool.  It's documented in The Single
 UNIX Specification, and it will be in IEEE Std. 1003.2b.
 
 Fine.  So are cut and paste.  You don't use them (preferring to
 use something else that better fits your need, see quote below), so
 why should my colleagues use patch if they prefer using something
 else that better fits their need?

So, if we take this squirming full circle then what better tools do you
and your colleagues use to apply changes in the form of diff output to
files?

We skirt the issue entirely and avoid passing diff output around.  We
keep complete copies of the files that concern us, and use a merge tool.

If you really can't figure out the difference between knowing which tool
in the toolbox is best to use for a given situation, and not even
knowing what tools are in the toolbox in the first place, then you
really should think twice before perpetuating debates such as these with
your ill-informed ideas.

We know which tool best fits our needs for a given situation, and very
rarely is it named patch.  Like you, we pick and choose the tools we
need to get the job done and ignore the rest.  It just so happens that
our toolbox contains different stuff from yours.  Our toolbox works
just fine for us, so get over it.

--- End of forwarded message from [EMAIL PROTECTED]


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



Re: CVS Update Behaviour

2002-02-26 Thread Greg A. Woods

[ On Tuesday, February 26, 2002 at 10:27:23 (-0800), Paul Sander wrote: ]
 Subject: Re: CVS Update Behaviour

 inclusion, the relationship between the two files becomes variable.
 In the event that a file is moved into a shared module and at a later
 time the target file's history is needed (from within a module other
 than the original one), there's no record of its original module in
 the comment.

But that is definitely not the general case.

-- 
Greg A. Woods

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

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



Re: CVS Update Behaviour

2002-02-26 Thread Greg A. Woods

[ On Tuesday, February 26, 2002 at 16:19:11 (-0800), Paul Sander wrote: ]
 Subject: Re: CVS Update Behaviour

 --- Forwarded mail from [EMAIL PROTECTED]
 
 [ On Tuesday, February 26, 2002 at 10:27:23 (-0800), Paul Sander wrote: ]
  Subject: Re: CVS Update Behaviour
 
  inclusion, the relationship between the two files becomes variable.
  In the event that a file is moved into a shared module and at a later
  time the target file's history is needed (from within a module other
  than the original one), there's no record of its original module in
  the comment.
 
 But that is definitely not the general case.
 
 It may not be the absolute most common case (trivial module declarations
 are), but it falls well within the normal bounds of modules database usage.

No, not even the normal bounds -- only the possible bounds.

There have been many discussions, and there's even documentation in
several places, telling all who'll read it that using non-trival modules
declarations is like dancing with the devil -- you will encounter problems!

-- 
Greg A. Woods

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

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



Re: CVS Update Behaviour

2002-02-26 Thread Noel Yap

--- Greg A. Woods [EMAIL PROTECTED] wrote:
 You really do know how to get off track and squirm
 out from under the
 pressure when you've been caught off-gaurd with a
 real answer to the
 original question you asked.

Actually, Paul's question, IIRC, was how many know and
use these tools out of the toolsmiths on this list. 
From the responses, I'd say, not many.  Out of the (I
think) four responses, not more than half replied with
knowing all those tools.

Noel

__
Do You Yahoo!?
Yahoo! Greetings - Send FREE e-cards for every occasion!
http://greetings.yahoo.com

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



Re: CVS Update Behaviour

2002-02-26 Thread Greg A. Woods

[ On Tuesday, February 26, 2002 at 19:05:04 (-0800), Noel Yap wrote: ]
 Subject: Re: CVS Update Behaviour

 --- Greg A. Woods [EMAIL PROTECTED] wrote:
  You really do know how to get off track and squirm
  out from under the
  pressure when you've been caught off-gaurd with a
  real answer to the
  original question you asked.
 
 Actually, Paul's question, IIRC, was how many know and
 use these tools out of the toolsmiths on this list. 

Well to start with his list of tools was almost totally irrelevant to
the discussion at hand  (perhaps his attempt to mis-direct the
discussion onto some irrelevant side issue)

 From the responses, I'd say, not many.  Out of the (I
 think) four responses, not more than half replied with
 knowing all those tools.

... and given the number of meaningful replies at all I'd say the results
are as yet totally meaningless, at least statistically speaking.

-- 
Greg A. Woods

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

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



Re: CVS Update Behaviour

2002-02-25 Thread Paul Sander

--- Forwarded mail from [EMAIL PROTECTED]

[ On Friday, February 22, 2002 at 20:57:01 (-0800), Paul Sander wrote: ]
 Subject: Re: CVS Update Behaviour

 --- Forwarded mail from [EMAIL PROTECTED]
 
 [ On Friday, February 22, 2002 at 13:25:37 (-0800), Paul Sander wrote: ]
  Subject: Re: CVS Update Behaviour
 
  And every time a merge is done from a branch where a rename was done on
  one of the branches.
 
 And what has been said about that for years now?  DON'T DO THAT
 
 Yeah, right after it was said that such a capability is a requirement...
 Such merging is common in the maintenance phase of a product.

Huh?  What kind of idiocity is that?  Since when are renames an absolute
requirement of maintenance?  Anyone silly enough to do a rename during
maintenance and to do so only on the patch branch, is going to get what
they deserve!  (I.e. a whole lot of unnecessary confusion and a lot of
extra manual work during merges! :-)

Renames are not usually a requirement of maintenance, but they are a
requirement of new development.  Bug fixes are done during maintenance,
and merged into new development.  That means that bug fixes are merged
into new development, often after prior new development involved renames.
This mode of operation is common!  Sometimes renames are done on a task
branch and folded into the next release, and I've seen this more often
than I care to remember on vendor branches.

  It's not a standard
 tool, so it falls well outside their experience.  (Most are not even
 familiar with all of the standard Unix tools.)

patch has been a standard tool in unix development for nearly two
decades now.  Prior to that the commonly used tool that can do the exact
same job with only slightly less success and using the exact same tool
to create the diff, was called 'ed'.  It's been around for over three
decades now.  Time to crawl out from under your rock and get with the
program Paul!

Just because a tool is standard does not mean it's well-known or
well-supported.  40% of the Unix platforms I use regularly (Solaris and
NetBSD) don't even supply the tool, and I admit that this is a much lower
number than I expected.  (AIX, HP-UX, and MacOS X do supply it.)

When's the last time anyone's used tsort(1), join(1) or fmt(1), or even
cut(1), paste(1) or fold(1), and Greg's favorite ed(1), even on this list
that's full of toolsmiths?  ls, diff, ln, cc, ld, vi, more, make, dbx, nm,
ar, tar, cp, chmod, ftp, cd, pwd, compress, sort, gzip (despite its non-
standard status), telnet, xterm, id, mailx, echo, test, date, and perhaps
a dozen or so other standard tools plus another dozen or so shop-specific
tools make up the world as far as my developers are concerned.  Virtually
everything else to them is as obscure and unknown to them as the tools I
listed in the first sentence of this paragraph.  Because the developers
are doing the merging and they don't know about patch, chances are they
won't choose to use it.

--- End of forwarded message from [EMAIL PROTECTED]


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



Re: CVS Update Behaviour

2002-02-25 Thread Colm Murphy

Hi Larry,

It turns out that CVS already does what I wanted all along!

If you don't checkout a complete directory CVS creates a Entries.Static 
file in the CVS directory. When you do an update it will then only 
update the existing files.

Colm A

Larry Jones wrote:

 Colm Murphy writes:
 
What I would propose is the following update behaviour:

(1) Update only the existing files in existing directories.

 
 You can achieve that by doing cvs update *.
 
 -Larry Jones
 
 In a minute, you and I are going to settle this out of doors. -- Calvin
 
 



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



Re: CVS Update Behaviour

2002-02-25 Thread Kaz Kylheku

In article [EMAIL PROTECTED], Nagy Gabor wrote:
On 02-Feb-22 14:14, Greg A. Woods wrote:
 No, you're full of crap too if you think that's a necessary feature.

Frankly. Why does it hurt you that someone else needs something else from
your favourite tool?

I think renaming and moving files accross directories is nice to have.
I don't think it is necessary, in a way that I can live without this
feature. 

But then, there is a surprising lot that human beings can live
without. You could wear a loincloth and live in a cave, hunting your
dinner using sticks and stones, and not year for, nor even know, anything
else.

Since, therefore, civilization itself is not a necessary feature, it's
pointless to squabble over whether directory versioning in a version
control system is necessary. Progress is not created by necessity,
but just by doing cool stuff for the hell of it, and for convenience
and profit.

And I still long for the mapping of entities to filenames.

I don't any more.

-- 
Meta-CVS: version control with directory structure versioning over top of CVS.
http://users.footprints.net/~kaz/mcvs.html
___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: CVS Update Behaviour

2002-02-25 Thread Kaz Kylheku

In article [EMAIL PROTECTED], Paul Sander wrote:
patch has been a standard tool in unix development for nearly two
decades now.  Prior to that the commonly used tool that can do the exact
same job with only slightly less success and using the exact same tool
to create the diff, was called 'ed'.  It's been around for over three
decades now.  Time to crawl out from under your rock and get with the
program Paul!

Just because a tool is standard does not mean it's well-known or
well-supported.  40% of the Unix platforms I use regularly (Solaris and
NetBSD) don't even supply the tool, and I admit that this is a much lower
number than I expected.  (AIX, HP-UX, and MacOS X do supply it.)

Free software development depends critically on patch. Just about anyone
involved in it must know how to produce and apply patches.

When's the last time anyone's used tsort(1), join(1) or fmt(1), or even
cut(1), paste(1) or fold(1), and Greg's favorite ed(1), even on this list
that's full of toolsmiths?

I used fmt a second ago, because the machine I post from has a really bad
vi clone that I haven't bother to replace.  So to reformat a paragraph
I use !}fmt. Sad!  I used cut not too long ago. Let's see, tsort a few
years ago, for something completely unrelated to sorting archive
order for a braindead linker.  I just needed to topologically sort some
some strings for some reason. I *can* use ed, but haven't practiced in
a few years. Never used paste or fold. I know what join is, and maybe
played with it a decade ago.

 ls, diff, ln, cc, ld, vi, more, make, dbx, nm,
ar, tar, cp, chmod, ftp, cd, pwd, compress, sort, gzip (despite its non
standard status), telnet, xterm, id, mailx, echo, test, date, and perhaps
a dozen or so other standard tools plus another dozen or so shop-specific
tools make up the world as far as my developers are concerned.  Virtually
everything else to them is as obscure and unknown to them as the tools I
listed in the first sentence of this paragraph.  Because the developers
are doing the merging and they don't know about patch, chances are they
won't choose to use it.

A programmer that doesn't know patch is quite likely ignorant of
free software in general. This in turn suggests that the programmer,
by choice, has seen very little code other than his or her own, and that
of a few immediate colleagues.

-- 
Meta-CVS: version control with directory structure versioning over top of CVS.
http://users.footprints.net/~kaz/mcvs.html
___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: CVS Update Behaviour

2002-02-25 Thread Paul Sander

--- Forwarded mail from [EMAIL PROTECTED]

In article [EMAIL PROTECTED], Paul Sander wrote:
patch has been a standard tool in unix development for nearly two
decades now.  Prior to that the commonly used tool that can do the exact
same job with only slightly less success and using the exact same tool
to create the diff, was called 'ed'.  It's been around for over three
decades now.  Time to crawl out from under your rock and get with the
program Paul!

Just because a tool is standard does not mean it's well-known or
well-supported.  40% of the Unix platforms I use regularly (Solaris and
NetBSD) don't even supply the tool, and I admit that this is a much lower
number than I expected.  (AIX, HP-UX, and MacOS X do supply it.)

Free software development depends critically on patch. Just about anyone
involved in it must know how to produce and apply patches.

Most of the people I work with don't produce free software, or at least
they don't collaborate in producing it.  I do produce free software, and
I still use patch only once in 2-3 years.  The free software community
remains a surprisingly small one, compared to the total size of the
industry, and it's my job to support people who are not part of that
small community.

When's the last time anyone's used tsort(1), join(1) or fmt(1), or even
cut(1), paste(1) or fold(1), and Greg's favorite ed(1), even on this list
that's full of toolsmiths?

I used fmt a second ago, because the machine I post from has a really bad
vi clone that I haven't bother to replace.  So to reformat a paragraph
I use !}fmt. Sad!  I used cut not too long ago. Let's see, tsort a few
years ago, for something completely unrelated to sorting archive
order for a braindead linker.  I just needed to topologically sort some
some strings for some reason. I *can* use ed, but haven't practiced in
a few years. Never used paste or fold. I know what join is, and maybe
played with it a decade ago.

In other words, you don't use many of the standard tools.

 ls, diff, ln, cc, ld, vi, more, make, dbx, nm,
ar, tar, cp, chmod, ftp, cd, pwd, compress, sort, gzip (despite its non
standard status), telnet, xterm, id, mailx, echo, test, date, and perhaps
a dozen or so other standard tools plus another dozen or so shop-specific
tools make up the world as far as my developers are concerned.  Virtually
everything else to them is as obscure and unknown to them as the tools I
listed in the first sentence of this paragraph.  Because the developers
are doing the merging and they don't know about patch, chances are they
won't choose to use it.

A programmer that doesn't know patch is quite likely ignorant of
free software in general. This in turn suggests that the programmer,
by choice, has seen very little code other than his or her own, and that
of a few immediate colleagues.

I would say that that pretty much describes most of the people I've ever
worked with.  They're very focussed on what they do very well and at the
end of the day they'd rather spend time with their families than hack
with the rest of us.

--- End of forwarded message from [EMAIL PROTECTED]


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



Re: CVS Update Behaviour

2002-02-25 Thread Greg A. Woods

[ On Monday, February 25, 2002 at 00:17:58 (-0800), Paul Sander wrote: ]
 Subject: Re: CVS Update Behaviour

 Renames are not usually a requirement of maintenance, but they are a
 requirement of new development.  Bug fixes are done during maintenance,
 and merged into new development.  That means that bug fixes are merged
 into new development, often after prior new development involved renames.
 This mode of operation is common!  Sometimes renames are done on a task
 branch and folded into the next release

It is extremely rare for bug fix merges to work automatically with CVS
commands alone, with or without any renames getting in the way.  If the
maintenance programmers don't understand explicitly what they're doing
then they will not succeed.  If you've seen such problems so often then
you've been working with people who do not understand what they are
doing, and that's very dangerous for the product they're working on.

 and I've seen this more often
 than I care to remember on vendor branches.

huh?  what do vendor branches have to do with this?  If you don't
understand that you have to manually move changes between files that
have been renamed by the vendor then you should not be messing with such
complicated things that you do not understand.

 When's the last time anyone's used tsort(1), join(1) or fmt(1), or even
 cut(1), paste(1) or fold(1), and Greg's favorite ed(1), even on this list
 that's full of toolsmiths?

Hmmm... I don't use fmt or fold, or cut  paste very often, but that's
because I use better tools to do what they can do  I certainly do
know of their existance though, and what they could do if I needed them.

If a developer doesn't read down to SEE ALSO section then they are
not really a developer.  RTFM means the WHOLE manual, not just the
synopsis!

Would you allow a dentist to work on your teeth if he or she didn't know
of all the standard tools a dentist might need to do a good job fixing
your teeth?  Would you sit in the chair after you saw a lone pair of
vice grips on the tray, even if it was a very nice shiny sterilized
stainless steel pair?  Get real Paul!

-- 
Greg A. Woods

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

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



Re: CVS Update Behaviour

2002-02-25 Thread Greg A. Woods

[ On Sunday, February 24, 2002 at 20:13:51 (-0800), Noel Yap wrote: ]
 Subject: Re: CVS Update Behaviour

 --- Greg A. Woods [EMAIL PROTECTED] wrote:
  patch has been a standard tool in unix development for nearly two
  decades now.  Prior to that the commonly used tool that can do the exact
  same job with only slightly less success and using the exact same tool
  to create the diff, was called 'ed'.  It's been around for over three
  decades now.  Time to crawl out from under your rock and get with the
  program Paul!
 
 Greg, your experience is not the norm.  Most
 developers, possibly sadly, aren't familiar with the
 whole gamut of available commands.

It damn well better be the norm -- it's no better or worse than anyone
else's experience!

Any so-called developer who is not familiar enough with the tools used
daily to do his or her job is not really a developer.  Some idiot might
pay such a person to be a developer, but that doesn't make them a
developer in the real world -- only in the imaginations of the employer
and the employee.

The tools I refer to are very plainly documented in the CVS manual and
the CVS unix-style manual page.  Even a simple skim through the manual
page for GNU diff (the diff used with CVS, though unfortunately it's not
shipped with CVS) will also reference the manual page for 'ed' and
'patch', and gives quite strong hints at how to use these tools to
mechanically re-apply changes with them.  Anyone claiming to be a
developer but not able to figure this out on their own really needs to
be smacked with something a lot harder than a clue-by-4!

I'm certain even a non-developer can figure enough of this out to ask
for help.

I don't even have the time of day for any idiot who can neither figure
this out nor ask for help.

 Furthermore, to do a proper merge, one needs three
 files.  I think patch is incomplete since all the
 information between the ancestor revision and the
 current file is completely lost.

You're on strange drugs again my friend.  The patch input file will only
be incomplete if you fail to generate it properly.

  One of the first
 lines in the output of man patch hints at this: 
 
 patch - apply a diff file to an original

Uh hug.  Diff and diff3 produce diff files.  Patch takes the output of
diff _or_ diff3 as input.

 Since, when merging, one doesn't apply a diff file to
 _the original_, patch isn't really the ideal tool to
 do it.

Well, first off, it seems you've got to learn a wee bit more about how
'diff' and 'patch' work conceptually before you'll realise that to an
original does not mean what you think it means.  Every newbie may
suffer the same mis-interpretation, but I'm not sure that means the
phrase is wrong in the context it is in.

  One could use diff3, but if that were true,
 why couldn't CVS do it itself?

Huh?  CVS does use diff3 to produce diff output.  You can use diff3
manually too.  It's terriblly easy to do.  Most humans can easily manage
up to seven items in their short-term memory -- diff3 only needs three
(four if you count the command name itself).

Do _you_ not know how this stuff all fits together yet?  I thought you
were worthy of being called a developer!

-- 
Greg A. Woods

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

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



RE: CVS Update Behaviour

2002-02-25 Thread Thornley, David



 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
 
 [ On Monday, February 25, 2002 at 00:17:58 (-0800), Paul 
 Sander wrote: ]
  Subject: Re: CVS Update Behaviour
 
  Renames are not usually a requirement of maintenance, but they are a
  requirement of new development.  Bug fixes are done during 
 maintenance,
  and merged into new development.  That means that bug fixes 
 
 It is extremely rare for bug fix merges to work automatically with CVS
 commands alone, with or without any renames getting in the 
 way.

It is?  It is possible that we have different sorts of bugs than those
you're familiar with, but we find that bug fixes often merge very
nicely without manual handling.  This is important; our business mandates
that we maintain different branches for different customers.  (We have
few and large customers, compared to many other software houses.)

Obviously, this will not work when files have been renamed, but in
that case the changes between versions are likely to be so large that
it really doesn't matter.  In many cases, the bug has been removed
in the redesign anyway.

 huh?  what do vendor branches have to do with this?  If you don't
 understand that you have to manually move changes between files that
 have been renamed by the vendor then you should not be 
 messing with such
 complicated things that you do not understand.
 
It seems to me that the question is not understanding, but whether it
is desirable.  It would be nice if CVS would track vendor renames, but
it would have to be able to figure out vendor renames, and in any case
the sources we track tend to be kept in CVS anyway, so the supplier is
unlikely to rename things gratuitously.


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



Re: CVS Update Behaviour

2002-02-24 Thread Greg A. Woods

You're spreading F.U.D. and untruths again Paul.

[ On Friday, February 22, 2002 at 20:51:55 (-0800), Paul Sander wrote: ]
 Subject: Re: CVS Update Behaviour

 There's just one little problem with this:  cvs log only works when
 a file is in your sandbox.  If it's been removed and committed, then
 you must do something like cvs rlog `cat CVS/Repository`/oldfile.c | less.

That's not true.  You are (still) using an old or broken or otherwise
buggy version of CVS.

 But that only works if the file was renamed in the same directory, not
 if it was moved to another directory.

This style of usage works just fine for me:

cvs log ../old-dir-path/oldfile.c

  In this latter case, you need to
 know where in the repository the RCS file sits, and that info isn't
 usually available without some effort, particularly if the module isn't
 defined trivially in the modules database.

Yes it is.  It's in the commit message written automatically by
something like my tiny simple little wrapper script.

 This exercise also doesn't consider the implications of doing the cvs add
 part in a sandbox that has been updated with a different branch than the
 original file.

That's because doing such a stupid thing is outside the bounds of
defined usage for CVS -- you really should only have one complete and
coherent sandbox, all checked out on only one branch if you're using
branches.  Anything and everything else may lead to undefined behaviour.

-- 
Greg A. Woods

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

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



Re: CVS Update Behaviour

2002-02-24 Thread Greg A. Woods

[ On Friday, February 22, 2002 at 20:57:01 (-0800), Paul Sander wrote: ]
 Subject: Re: CVS Update Behaviour

 --- Forwarded mail from [EMAIL PROTECTED]
 
 [ On Friday, February 22, 2002 at 13:25:37 (-0800), Paul Sander wrote: ]
  Subject: Re: CVS Update Behaviour
 
  And every time a merge is done from a branch where a rename was done on
  one of the branches.
 
 And what has been said about that for years now?  DON'T DO THAT
 
 Yeah, right after it was said that such a capability is a requirement...
 Such merging is common in the maintenance phase of a product.

Huh?  What kind of idiocity is that?  Since when are renames an absolute
requirement of maintenance?  Anyone silly enough to do a rename during
maintenance and to do so only on the patch branch, is going to get what
they deserve!  (I.e. a whole lot of unnecessary confusion and a lot of
extra manual work during merges! :-)

 Only if the developers know about it, and how use it.

Yup, most developers I know do pick up wrenches to hammer in screws too...

Sigh.  When will you and they ever learn?

  It's not a standard
 tool, so it falls well outside their experience.  (Most are not even
 familiar with all of the standard Unix tools.)

patch has been a standard tool in unix development for nearly two
decades now.  Prior to that the commonly used tool that can do the exact
same job with only slightly less success and using the exact same tool
to create the diff, was called 'ed'.  It's been around for over three
decades now.  Time to crawl out from under your rock and get with the
program Paul!

-- 
Greg A. Woods

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

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



Re: CVS Update Behaviour

2002-02-24 Thread Greg A. Woods

[ On Saturday, February 23, 2002 at 06:37:35 (-0800), Noel Yap wrote: ]
 Subject: Re: CVS Update Behaviour

 Because the tool is broken under such circumstances. 
 It's broken because it claims to be concurrent, but
 under such circumstances, it's not.

Huh?  What can concurrent editing of the same file on the same branch
possibly ever have to do with renaming a file on one branch but not on
another?  You've really lost it now Noel.

-- 
Greg A. Woods

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

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



Re: CVS Update Behaviour

2002-02-24 Thread Greg A. Woods

I really really really really wish you'd learn to use a proper mail
reader that can deal with text and not mangle it beyond reconition!

You haven't been at all successful at avoiding double-posting either.

[ On Saturday, February 23, 2002 at 06:00:52 (-0800), Noel Yap wrote: ]
 Subject: Re: CVS Update Behaviour

 --- Greg A. Woods [EMAIL PROTECTED] wrote:
  It seems perfectly simple and very quick when I do
  it.  Perhaps you
  should try it:
  
  cvs log newfile.c | less
  
  [[ read along until you get to the end and see: - moved
  oldfile.c to newfile.c]]
  
  cvs log oldfile.c | less
  
  [[ and so on ]] 
 
 1. This doesn't work in the general case (eg when
 resurrections occur).

Huh?  Sure it does -- though of course you need to modify the algorithm
above to get rid of the to the end part -- but then humans are usually
pretty good at figuring out such implications on their own.

 2. This is hardly transparent to the user.

It's bloody well not supposed to be transparent!  You _WANT_ them to
see the rename and understand its implications!

  Maybe someone with difficulty typing commands would find this
  difficult because of the extra typing, but they would presumably find
  using any part of the command-line interface to be similarly difficult
  and should probably be using a mouse-driven front-end or some such.
 
 No, the difficult part is parsing the log output to
 find the move comments (assuming the comments are
 correct to begin with).

The comments are correct because you've required that your developers
use a front-end or wrapper.  Right!?!?!?!

Humans are incredibly good at parsing written words.  However even
computers can discern such patterns with ease.

  Because they're too simple and too lame to ever
  worry about remembering!  
 
 And it's much simpler to argue continuously about it?

it's no harder, and a whole lot more fun!

  Yup, that's pretty much it.  It sure is easy isn't it!  You need some
  more mechanism around it if you want to use it as a general wrapper
  (i.e. to enforce its usage), and of course there are the other bits that
  should be self obvious if you want log and diff and such to work
  across renames.
 
 Since anyone can always call CVS directly, how can you
 possibly enforce its usage (other than through
 policies)?

You can make it harder for anyone to use an un-modified version of CVS,
but really policies are all that's necessary.  If you need more control
than this then your project management is already too far gone to have
much hope for success at anything.

 Whereas if CVS directly supported this, one wouldn't
 have to add this functionality to each wrapper out
 there.

CVS simply cannot ever support the kind of renames some very few of you
continually whinning complainers seem to wish to have without
introducing fundamentally backwards incompatible changes to the
repository format.

So, either start your own new project that has no ties to past
repositories, or quit your bloody whining!

-- 
Greg A. Woods

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

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



Re: CVS Update Behaviour

2002-02-24 Thread Noel Yap

--- Greg A. Woods [EMAIL PROTECTED] wrote:
 patch has been a standard tool in unix
 development for nearly two
 decades now.  Prior to that the commonly used tool
 that can do the exact
 same job with only slightly less success and using
 the exact same tool
 to create the diff, was called 'ed'.  It's been
 around for over three
 decades now.  Time to crawl out from under your rock
 and get with the
 program Paul!

Greg, your experience is not the norm.  Most
developers, possibly sadly, aren't familiar with the
whole gamut of available commands.

Furthermore, to do a proper merge, one needs three
files.  I think patch is incomplete since all the
information between the ancestor revision and the
current file is completely lost.  One of the first
lines in the output of man patch hints at this: 

patch - apply a diff file to an original

Since, when merging, one doesn't apply a diff file to
_the original_, patch isn't really the ideal tool to
do it.  One could use diff3, but if that were true,
why couldn't CVS do it itself?

Noel

Noel

__
Do You Yahoo!?
Yahoo! Sports - Coverage of the 2002 Olympic Games
http://sports.yahoo.com

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



Re: CVS Update Behaviour

2002-02-24 Thread Paul Sander

--- Forwarded mail from [EMAIL PROTECTED]

You're spreading F.U.D. and untruths again Paul.

Not with the stock version of CVS that I'm using.  Larry Jones has
already set me straight with regard to cvs log working properly
in the presence of a file that's been removed to the Attic in the
current release.

[ On Friday, February 22, 2002 at 20:51:55 (-0800), Paul Sander wrote: ]
 Subject: Re: CVS Update Behaviour

  In this latter case, you need to
 know where in the repository the RCS file sits, and that info isn't
 usually available without some effort, particularly if the module isn't
 defined trivially in the modules database.

Yes it is.  It's in the commit message written automatically by
something like my tiny simple little wrapper script.

Hmmm...  Let's recap:

  cp $1 $2
  cvs rm -f $1
  cvs add $2
  cvs commit -m moved $1 to $2 $1 $2

Where is the *location of the RCS file* recorded in the comment?
Sure, the wrapper could read the CVS meta-data, but that's proprietary
to CVS and therefore not guaranteed to remain compatible in future
releases.

 This exercise also doesn't consider the implications of doing the cvs add
 part in a sandbox that has been updated with a different branch than the
 original file.

That's because doing such a stupid thing is outside the bounds of
defined usage for CVS -- you really should only have one complete and
coherent sandbox, all checked out on only one branch if you're using
branches.  Anything and everything else may lead to undefined behaviour.

Yeah, well, users can be pretty ingenius when it comes to stuff like this.
The wrapper should at least look at the sticky tags of the workspaces to
make sure they're not doing something stupid.

--- End of forwarded message from [EMAIL PROTECTED]


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



Re: CVS Update Behaviour

2002-02-24 Thread Nagy Gabor

On 02-Feb-22 18:31, Greg A. Woods wrote:
 And what has been said about that for years now?  DON'T DO THAT

It's time to give that a second thought, IMHO.

   This involves several files every time a patch goes
  out, if the project was reorganized since the code diverged.  This
  phonomenon is much more common than you think.
 
 Maybe because of accidents, but that's something which is correctable.

Last release one output file was created by a simple C++ source. In the
current release I also have to put some data from ORACLE into the output.
I renamed the file from *.cpp to *.pc so that the make rules work OK.

So far I didn't have to merge a change. Maybe the last release was perfect
and I will never have. But it was not an accident. OK, I could create a
new .pc to store functions that the .cpp could call, but this is just
a way around the problem.

You don't want to admit that the problem does exist.

Gee

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



Re: CVS Update Behaviour

2002-02-24 Thread Nagy Gabor

On 02-Feb-22 14:14, Greg A. Woods wrote:
 No, you're full of crap too if you think that's a necessary feature.

Frankly. Why does it hurt you that someone else needs something else from
your favourite tool?

I think renaming and moving files accross directories is nice to have.
I don't think it is necessary, in a way that I can live without this
feature. 

But if I think that this would make my life easier, don't try to tell me,
I shouldn't _think_ that.

When I discovered cvs did not know this, I was puzzled, and sad. And
used and liked cvs ever since. During these years I've used other tools,
which had this feature. I noted, that it was good. But if I can choose,
I choose cvs.

And I still long for the mapping of entities to filenames. What I would
like to see, is a kind of Inode way of storing things in the repository.
Multiple names of the same entity, renames, anything. And one
representation

Lastly: If there is something that doesn't hurt you, (you can cat a
file to another name and rm the old one, don't have to mv, so you can do
it as you always did) but others would like to have that particular
feature, why object? Why do you want to judge if it is rightfully needed
by others?

You don't need this. cvs doesn't do this at the moment. Why is that a
problem, if we are talking about enhancing cvs so that in the future it
will suit the needs of more people?

Maybe the current repository structure can't hold this information. I
don't know, as I'm only a user of cvs. But I don't understand why people
seem to go crazy over the mention of this wishlist item.

 First off tell me how often you've actually had to do this operation in
 relation to other operations.

I'd say one time is enough. In the current project I'm working on, there
were renaming of files, and branches and bugfixes in previous releases.
Yes, I can merge with typing. But I wouldn't mind if all I have to do was
the same as with files with the old name.

Gee

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



Re: CVS Update Behaviour

2002-02-23 Thread Noel Yap

--- Greg A. Woods [EMAIL PROTECTED] wrote:
 Perhaps what I can now do intuitively is hard for
 someone else, but if I
 learned to do it intuitively then pretty much anyone
 can learn it too.
 I'm no superman and I don't believe I have a
 photographic memory or
 anything fancy like that either.

You need to get out and work with a broader set of
people.  From my experience, script-proficient
developers are a rarity.  Taking into account the
reality, you and probably most on this list are
supermen.

 Perhaps someone who doesn't understand the basics of
 what's going on
 with version control might have more trouble, but
 they're basically lost
 on even the most simple commands until they get some
 fundamental
 understanding anyway.  Once they get the basics
 under control then
 tracking history across renames is only a tiny step,
 not anything
 difficult!

You're defining version control to be CVS, again.  You
need to remember that there are tools that version
control renames transparently to the user.  But I
understand how you can forget such a thing given that
you don't use such tools.

 It seems perfectly simple and very quick when I do
 it.  Perhaps you
 should try it:
 
   cvs log newfile.c | less
 
   [[ read along until you get to the end and see: -
 moved
   oldfile.c to newfile.c]]
 
   cvs log oldfile.c | less
 
   [[ and so on ]] 

1. This doesn't work in the general case (eg when
resurrections occur).
2. This is hardly transparent to the user.

 Maybe someone with difficulty typing commands would
 find this
 difficult because of the extra typing, but they
 would presumably find
 using any part of the command-line interface to be
 similarly difficult
 and should probably be using a mouse-driven
 front-end or some such.

No, the difficult part is parsing the log output to
find the move comments (assuming the comments are
correct to begin with).

 So automate the process with a wrapper that doesn't
 make mistakes!!
 
 Said wrapper is already quoted below!

And be sure to break the CVS model by serializing
development while you're at it.

  If being able to deal transparently with file
 renames and moves is
  important to one, then CVS is not the proper tool.
 
 Well we do agree on that for sure -- but I assert
 it's never going to be
 a terribly important requirement in any usage domain
 where CVS is
 otherwise the proper tool.

Good, so we're in agreement, CVS isn't ideal under
refactoring or when using XP.

  That's actually kind of sad. Why don't you put the
 script(s) in the
  contrib directory, and point people at it when the
 topic comes up,
  rather than expending the effort arguing and
 re-writing the script?
 
 Because they're too simple and too lame to ever
 worry about remembering!  

And it's much simpler to argue continuously about it?

 Yup, that's pretty much it.  It sure is easy isn't
 it!  You need some
 more mechanism around it if you want to use it as a
 general wrapper
 (i.e. to enforce its usage), and of course there are
 the other bits that
 should be self obvious if you want log and diff
 and such to work
 across renames.

Since anyone can always call CVS directly, how can you
possibly enforce its usage (other than through
policies)?

  Such a feature could trivially be
 built into the many
 front-ends too (which are usually literally
 wrappers), such as PCL-CVS
 (which is the one I use), or WinCVS, etc.

What if some valid comments happen to have the move
comments in them and the file wasn't really moved? 
Using comments for this is a hack at best.

 I've never actually written a script to do it
 because it's brain-dead
 easy and obvious how to do it manually, and like I
 said I can only
 remember having to do a diff manually across a
 rename once in 8 yrs!

If it's so obvious, why on Earth do you think this
subject comes up so often?  Obviously, it's not
obvious.

 I did think briefly of writing rename support for
 PCL-CVS, but it's just
 too infrequently used to be worth the effort.

Whereas if CVS directly supported this, one wouldn't
have to add this functionality to each wrapper out
there.

 If/when someone goes to the effort of produceing
 working code regardless
 of how needed it is then perhaps it'll be added to
 the appropriate
 public shared version of wherever it best fits (eg.
 a script in contrib
 or a new lisp function in PCL-CVS, or whatever). 
 Until that time the
 manual way is trivial, and quick, and it works 100%.

No, it doesn't.  It's not robust.  A robust way
wouldn't use comments, but use something completely
internal to CVS (eg filename mapping).

Noel

__
Do You Yahoo!?
Yahoo! Sports - Coverage of the 2002 Olympic Games
http://sports.yahoo.com

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



Re: CVS Update Behaviour

2002-02-23 Thread Noel Yap

--- Greg A. Woods [EMAIL PROTECTED] wrote:
 [ On Friday, February 22, 2002 at 13:25:37 (-0800),
 Paul Sander wrote: ]
  Subject: Re: CVS Update Behaviour
 
  And every time a merge is done from a branch where
 a rename was done on
  one of the branches.
 
 And what has been said about that for years now? 
 DON'T DO THAT

Because the tool is broken under such circumstances. 
It's broken because it claims to be concurrent, but
under such circumstances, it's not.

  Not renaming files is a fine workaround for
 lacking the ability to rename
  files, if you can live with it.  You can obviously
 live with it, but some
  of us cannot.
 
 Who said you can't rename files?  You just have to
 plan for it.

And serialize development while you're doing it.

Noel


__
Do You Yahoo!?
Yahoo! Sports - Coverage of the 2002 Olympic Games
http://sports.yahoo.com

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



Re: CVS Update Behaviour

2002-02-23 Thread Larry Jones

Paul Sander writes:
 
 There's just one little problem with this:  cvs log only works when
 a file is in your sandbox.  If it's been removed and committed, then
 you must do something like cvs rlog `cat CVS/Repository`/oldfile.c | less.

No, cvs log works just fine on a removed file:

jones:/tmp/CVSROOT $ ls
CVS config  loginfo taginfo
checkoutlistcvswrappers modules verifymsg
commitinfo  editinforcsinfo

jones:/tmp/CVSROOT $ cvs log notify

RCS file: /tmp/cvstest/CVSROOT/Attic/notify,v
Working file: notify
head: 1.2
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 2; selected revisions: 2
description:

revision 1.2
date: 2002/02/23 21:10:37;  author: scjones;  state: dead;  lines: +0 -0
.

revision 1.1
date: 2002/02/23 19:56:14;  author: scjones;  state: Exp;
initial checkin
=

-Larry Jones

I just can't identify with that kind of work ethic. -- Calvin

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



Re: CVS Update Behaviour

2002-02-23 Thread Paul Sander

--- Forwarded mail from [EMAIL PROTECTED]

Paul Sander writes:
 
 There's just one little problem with this:  cvs log only works when
 a file is in your sandbox.  If it's been removed and committed, then
 you must do something like cvs rlog `cat CVS/Repository`/oldfile.c | less.

No, cvs log works just fine on a removed file:

Oh, cool!   Time to upgrade again...

--- End of forwarded message from [EMAIL PROTECTED]


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



Re: CVS Update Behaviour

2002-02-22 Thread Paul Sander

--- Forwarded mail from [EMAIL PROTECTED]

[ On Thursday, February 21, 2002 at 18:03:20 (-0800), Paul Sander wrote: ]
 Subject: Re: CVS Update Behaviour

 That last paragraph is utter crap.  Without having the entire history
 of a file's lifetime in one container, it's much much harder to track
 changes that are made before the last reorg.

No, you're full crap, to be blunt about it.  It's hardly even noticably
more difficult to track the history across multiple files.  You've been
harping on this subject for literally years yet you've never contributed
one line of code to make it easier and I'll bet you're so scared of this
particular way of using CVS that you don't even try to do it yourself so
how the hell would you know how hard it is to do!?!?!?!?!?

Quit being an idiot Paul and either shut up or talk only about the
things you actually have real live current experience with.

I've done it the CVS way, actually I've done it in several of the
CVS ways as documented in the manual.  And I have modified CVS to
try to make one or two of them easier.  It can't be done with sufficient
robustness to be worthwhile to submit to Larry and company, at least not
without making incompatible changes to the format of the repository.  And
that's the way it sits as long as CVS uses the filesystem to map the
locations of revision containers to sandboxes.

I've also used systems do maintain a single revision history of a file
throughout its lifetime.  They are way more usable than CVS under these
conditions, and some of them support concurrent development.

The mapping can be done with text files (transparently to the user as
an implementation detail), and the merge algorithms are virtually
identical to what CVS already has built-in.  All that the mappings do
is add a level of indirection.

There are secondary issues that can be complex, such as how one
efficiently locks the revision containers during commits.  But that's
only an issue if CVS is used in local mode; the client/server modes
can funnel the locking in such a way that the necessary coordination
can be implemented well.

This system would be more scalable if there were a way to permit
concurrent modifications to the revision containers on different
branches, but that's a lesser requirement than just getting the
mapping at all.

Rather than argue for the sake of arguing, I suggest that you try a
system that has such a mechanism.  Apply it to a non-trivial project,
and try making fundamental changes to the layout of the sources.  A
Unix kernel with its drivers might be a good sample.  Then try merging
changes across branches.

Because CVS doesn't have this feature, its users become accustomed to
working around its absence.  And they don't recognize the value of the
feature until they've actually tried it in a real world situation using
a different system.

--- End of forwarded message from [EMAIL PROTECTED]


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



Re: CVS Update Behaviour

2002-02-22 Thread Arcin Bozkurt - Archie

On Thu, 2002-02-21 at 21:03, Paul Sander wrote:
 --- Forwarded mail from [EMAIL PROTECTED]
 
 [ On , February 21, 2002 at 18:55:21 (-0500), Arcin Bozkurt - Archie wrote: ]
  Subject: Re: CVS Update Behaviour
 
  On Thu, 2002-02-21 at 17:45, Greg A. Woods wrote:
   
   Don't get stuck on this idea of trying to keep track of everything back
   to the beginning of time with one RCS file. 
  
  So, you don't believe that history of those files are that important.
 
 Of course it's important -- it's your record of what happened to that
 code through its lifetime.  It can tell you how bugs were fixed in the
 past, and how new bugs were introduced, and all kinds of management
 level information such as how many lines of code changed, who changed
 them, etc., etc., etc.
 
 It just doesn't have to be all in the same RCS file.  The idea that it
 should is a very dangerous fallacy, esp. w.r.t. to CVS.
 
 That last paragraph is utter crap.  Without having the entire history
 of a file's lifetime in one container, it's much much harder to track
 changes that are made before the last reorg.  And it's especially difficult
 to track migrations through the reorg with respect to branches.  For
 example, it's much harder to migrate bug fixes from old releases to new
 development if the new stuff involves renaming files.

In the problem I am facing, we are not, at the moment, thinking of
assigning new purposes to existing files and we are not planning any
renamings...

 
 And going the other way, suppose a rename was done and a new file takes
 the place of the old one in the filesystem.  Now you have a dangerous
 situation in which a single RCS files contains partial version histories
 of multiple files.  It's dangerous because it opens up the possibility of
 someone merging inappropriate changes from one branch to another, from
 one file to another.
 

A question on merge behaviour of cvs: Will CVS be able to follow a file
disappearing in one module, appearing in another one? I would say no.
And therefore a merge would not be able to propogate bugfixes on that
file even though the file is not deleted, and resurrected for another,
etc.


Am I right?

 Here is an illustration:
 
[... : illustration understood and taken out for clarity ]
 
 The fact that CVS doesn't map RCS files uniquely to sources in the
 context of reorganizations doesn't make the requirement to do so
 a fallacy.  It makes CVS broken.
 
 --- End of forwarded message from [EMAIL PROTECTED]
 



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



Re: CVS Update Behaviour

2002-02-22 Thread Steve Greenland

(I should know better than to get into this...)

On Fri, Feb 22, 2002 at 01:16:35AM -0500, Greg A. Woods wrote:
 It's hardly even noticably
 more difficult to track the history across multiple files.  

Greg, *that* statement is complete and utter crap. Or, please post the
single *cvs* command that will display the full history (equivalent
of 'cvs log') of an entity *accross* renames/moves. (I use the word
entity because file allows an easy out: If you rename it, it's not
the same file.) Please post the appropriate *cvs* command that will
merge a one-line non-conflicting change in a branched file into the
version on the trunk that has been renamed.

Yes, I can write scripts and add-ons to deal with these situations. Many
of us have done so. But the whole rename/move issue with CVS *is* a
weakness. The fact that it can't be corrected within the limitations of
CVS's current design/implementation is doesn't change the fact that it's
a weakness.

Now, I *like* CVS. I find that it meets the needs of our small
development team, and the cost is certainly right (for our situation and
uses, the admin cost (counted in my time, which I, at least, think has
some value) is pretty small). But it *does* have some weaknesses, and
those weaknesses have influenced our processes, just like the strengths
and weaknesses of any tool influence how you use it. We know the
limitations and work around them. But denying the limitation exists is
silly.

Steve




 
 Quit being an idiot Paul and either shut up or talk only about the
 things you actually have real live current experience with.
 
 -- 
   Greg A. Woods
 
 +1 416 218-0098;  [EMAIL PROTECTED];  [EMAIL PROTECTED];  [EMAIL PROTECTED]
 Planix, Inc. [EMAIL PROTECTED]; VE3TCP; Secrets of the Weird [EMAIL PROTECTED]
 
 ___
 Info-cvs mailing list
 [EMAIL PROTECTED]
 http://mail.gnu.org/mailman/listinfo/info-cvs

-- 

I [..] am rarely happier then when spending an entire day programming
my computer to perform automatically a task that it would otherwise take
me a good ten seconds to do by hand. Ten seconds, I tell myself, is ten
seconds. Time is valuable and ten seconds' worth of it is well worth the
investment of a day's happy activity working out a way to save it.
-- Douglas Adams, Last Chance to See


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



Re: CVS Update Behaviour

2002-02-22 Thread Greg A. Woods

[ On Friday, February 22, 2002 at 12:18:37 (-0600), Steve Greenland wrote: ]
 Subject: Re: CVS Update Behaviour

 (I should know better than to get into this...)

Yes, you really should!

 On Fri, Feb 22, 2002 at 01:16:35AM -0500, Greg A. Woods wrote:
  It's hardly even noticably
  more difficult to track the history across multiple files.  
 
 Greg, *that* statement is complete and utter crap. Or, please post the
 single *cvs* command that will display the full history (equivalent
 of 'cvs log') of an entity *accross* renames/moves.

No, you're full of crap too if you think that's a necessary feature.

First off tell me how often you've actually had to do this operation in
relation to other operations.

There are probably as many or more functions that have do be done with
CVS on a regular basis that require more than one command (or more than
one click of the mouse for those of us who are most lazy and like to use
a MUI or GUI) than can be done with one simple command.

You should all be damn happy that CVS does the few things it can do.
Would you rather repeat an RCS command for every file, or even just
every directory for all your projects?

If you're so damn worried about making it one simple command for your
loser users then write damn wrapper and shut up.

If you think the world should be able to do such things with one command
then post your friggin wrapper.

If you're too damn lazy to figure out how to do this then please ask
politely for suggestions instead of spouting more whining useless BS.

If you really think you know better how to do this then demonstrate your
mastery with some working code!

I've never heard so much BS about this subject, even after all these
years of discussion about it, and yet I think I'm the only one to have
actually done something about it _and_ shared my efforts!

I've posted the basic starter wrapper I wrote to do this several times.
In fact I wrote the damn wrapper separately each time.  Any programmer
with any clue about what's going on could easily extend my wrappers to
do more complex tasks such as diffs and such, even if they didn't know
the shell language before they started.  Not that I've ever used my
wrapper in production -- I've just demonstrated with working code that
something productive can be done without whining about it so much!

-- 
Greg A. Woods

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

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



Re: CVS Update Behaviour

2002-02-22 Thread Greg A. Woods

[ On Friday, February 22, 2002 at 01:48:50 (-0800), Paul Sander wrote: ]
 Subject: Re: CVS Update Behaviour

 I've done it the CVS way, actually I've done it in several of the
 CVS ways as documented in the manual.

Only one of the ways documented in the manual even comes close to being
the one correct way to do file renames.  The other two ways have fatal
flaws in a number of situations.  I've posted updates to the manual
which correct the documentation.

 Rather than argue for the sake of arguing, I suggest that you try a
 system that has such a mechanism.  Apply it to a non-trivial project,
 and try making fundamental changes to the layout of the sources.  A
 Unix kernel with its drivers might be a good sample.  Then try merging
 changes across branches.

I don't need to use any such over-burdened fancy system.  I'm extremely
happy with the way things work now in CVS -- there's more than adequate
support for tracking renames across history, at least form the point of
view of anyone actually needing the revision history and commit logs and
not just arguing about a mythical need.

-- 
Greg A. Woods

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

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



Re: CVS Update Behaviour

2002-02-22 Thread Paul Sander

--- Forwarded mail from [EMAIL PROTECTED]

On Thu, 2002-02-21 at 21:03, Paul Sander wrote:
 --- Forwarded mail from [EMAIL PROTECTED]
 
 [ On , February 21, 2002 at 18:55:21 (-0500), Arcin Bozkurt - Archie wrote: ]
  Subject: Re: CVS Update Behaviour

 And going the other way, suppose a rename was done and a new file takes
 the place of the old one in the filesystem.  Now you have a dangerous
 situation in which a single RCS files contains partial version histories
 of multiple files.  It's dangerous because it opens up the possibility of
 someone merging inappropriate changes from one branch to another, from
 one file to another.

A question on merge behaviour of cvs: Will CVS be able to follow a file
disappearing in one module, appearing in another one? I would say no.
And therefore a merge would not be able to propogate bugfixes on that
file even though the file is not deleted, and resurrected for another,
etc.

Am I right?

You are correct.

--- End of forwarded message from [EMAIL PROTECTED]


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



Re: CVS Update Behaviour

2002-02-22 Thread Paul Sander

--- Forwarded mail from [EMAIL PROTECTED]

[ On Friday, February 22, 2002 at 12:18:37 (-0600), Steve Greenland wrote: ]
 Subject: Re: CVS Update Behaviour

 On Fri, Feb 22, 2002 at 01:16:35AM -0500, Greg A. Woods wrote:
  It's hardly even noticably
  more difficult to track the history across multiple files.  
 
 Greg, *that* statement is complete and utter crap. Or, please post the
 single *cvs* command that will display the full history (equivalent
 of 'cvs log') of an entity *accross* renames/moves.

No, you're full of crap too if you think that's a necessary feature.

First off tell me how often you've actually had to do this operation in
relation to other operations.

I don't know about anyone else, but I use cvs log every time I do a
cvs update to read other people's thoughts about the changes they've
made to the code I'm about modify.  If just one of those files has been
renamed in its past, then I want cvs log to show the file's entire
history, before and after the rename (and indeed before and after
*every* rename in its past).

--- End of forwarded message from [EMAIL PROTECTED]


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



Re: CVS Update Behaviour

2002-02-22 Thread Noel Yap

--- Greg A. Woods [EMAIL PROTECTED] wrote:
 I don't need to use any such over-burdened fancy
 system.  I'm extremely
 happy with the way things work now in CVS -- there's
 more than adequate
 support for tracking renames across history, at
 least form the point of
 view of anyone actually needing the revision history
 and commit logs and
 not just arguing about a mythical need.

I think anyone who has ever used such a system would
disagree that such a need is mythical.

Noel

__
Do You Yahoo!?
Yahoo! Sports - Coverage of the 2002 Olympic Games
http://sports.yahoo.com

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



Re: CVS Update Behaviour

2002-02-22 Thread Steve Greenland

On Fri, Feb 22, 2002 at 02:14:21PM -0500, Greg A. Woods wrote:
 [ On Friday, February 22, 2002 at 12:18:37 (-0600), Steve Greenland wrote: ]
  On Fri, Feb 22, 2002 at 01:16:35AM -0500, Greg A. Woods wrote:
   It's hardly even noticably
   more difficult to track the history across multiple files.  
  
  Greg, *that* statement is complete and utter crap. Or, please post the
  single *cvs* command that will display the full history (equivalent
  of 'cvs log') of an entity *accross* renames/moves.
 
 No, you're full of crap too if you think that's a necessary feature.

You've failed to read what I wrote. I didn't claim it was necessary.
I didn't claim it was common. I, in fact, wrote that I was generally
satisfied with CVS. What I *wrote* was *your* claime that tracking
history across renames was an effort that was hardly even noticably
more difficult was crap. Since I can read the history of a single file
(non-renamed) with one cvs command, I wanted to know how to do it when
the file (entity, if you prefer) *had* been renamed, or moved to another
directory. Reading the change log of the current file to (hopefully)
find the comment about what the name of the file *used* to be and then
reading its changelog, etc. etc. is *not* hardly more difficult. The
only place the rename info is stored is in the changelog, and if the
person who made the change didn't get the right comment in there, it's
lost. Should the comment be there? Of course. But people make mistakes.

If being able to deal transparently with file renames and moves is
important to one, then CVS is not the proper tool. 

 If you're so damn worried about making it one simple command for your
 loser users then write damn wrapper and shut up.

My users are not losers. I'm not even particulary worried about it. When
we need to do it, we know how.

 I've never heard so much BS about this subject, even after all these
 years of discussion about it, and yet I think I'm the only one to have
 actually done something about it _and_ shared my efforts!
 
 I've posted the basic starter wrapper I wrote to do this several times.
 In fact I wrote the damn wrapper separately each time. 

That's actually kind of sad. Why don't you put the script(s) in the
contrib directory, and point people at it when the topic comes up,
rather than expending the effort arguing and re-writing the script?

Hmmm, searching in groups.google.com, the only thing I could find

is 
cp $1 $2
cvs rm -f $1
cvs add $2
cvs commit -m moved $1 to $2 $1 $2

from January 2000. If that's the script you rewrite every time, well,
yeah, that's easy. I was hoping that you meant you'd written scripts
for logging, and/or diffing and merging a branch when files have been
moved/renamed. If you have, they should go in contrib. If not, the fact
that no one has done them and posted them might, just might, indicate
that they aren't as trivial as you claim.

In the meantime, I'll go on using CVS because it does the things I need
it to do. But there are some things it doesn't do well, and if one or
more of them is important to a particular user, then the only honest,
fair thing to do is steer them away from CVS.

Steve

-- 

I [..] am rarely happier then when spending an entire day programming
my computer to perform automatically a task that it would otherwise take
me a good ten seconds to do by hand. Ten seconds, I tell myself, is ten
seconds. Time is valuable and ten seconds' worth of it is well worth the
investment of a day's happy activity working out a way to save it.
-- Douglas Adams, Last Chance to See


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



  1   2   >