cvsup'ing repo cvs-checkout'ing sources makes cvs complain...

2001-01-21 Thread Salvo Bartolotta

/* apologies if this is not the most appropriate list; [additional]
 * apologies for the long post; suggestions and pointers gladly
 * accepted.
 */


Dear FreeBSD'ers,

Over the past few days, I have been cvsup'ing FreeBSD's repository
and cvs-checkout'ing out my -CURRENT sources; for the record, I had
been cvsup'ing my sources and making the buildkernel etc. dance
flawlessly on this very test system.

It seems a logical approach to switch from cvsup'ing each system
separately to cvsup'ing the repo  cvs-checkout'ing the desired
modules (src, ports, doc, www) for each of my systems. However, I have
had a few (probably minor) problems on my -CURRENT test system, where
I am playing the new "cvsup repo"/"cvs-checkout modules" dance.

My (stripped) cvs-supfile:

blockquote
# $FreeBSD: src/share/examples/cvsup/cvs-supfile,v 1.26.2.3 2000/09/22
06:31:21 asami Exp $
#

*default host=cvsup.nl.FreeBSD.org
*default base=/myjunk
*default prefix=/myjunk/home/ncvs
*default release=cvs
*default delete use-rel-suffix
*default compress

src-all
ports-all
doc-all
www
/blockquote


 The background (also posted to -questions) --

Following Warner's directions in internat.txt, I removed the
crypto-related stuff, and issued the following explicit command:

201 1:54am /usr #  cvs -d /myjunk/home/ncvs checkout -r HEAD src

# Script started on Wed Jan 17 01:54:54 2001
You have mail.
201 1:54am /usr #  cvs -d /myjunk/home/ncvs checkout -r HEAD src

cvs checkout: Updating src
RCS file: /myjunk/home/ncvs/src/Makefile,v
retrieving revision 1.234
retrieving revision 1.242
Merging differences between 1.234 and 1.242 into Makefile
src/Makefile already contains the differences between 1.234 and 1.242
RCS file: /myjunk/home/ncvs/src/Makefile.inc1,v
retrieving revision 1.141.2.2
retrieving revision 1.180
Merging differences between 1.141.2.2 and 1.180 into Makefile.inc1
src/Makefile.inc1 already contains the differences between 1.141.2.2
and 1.180
RCS file: /myjunk/home/ncvs/src/README,v
retrieving revision 1.15
retrieving revision 1.19
Merging differences between 1.15 and 1.19 into README
src/README already contains the differences between 1.15 and 1.19
RCS file: /myjunk/home/ncvs/src/UPDATING,v
retrieving revision 1.73.2.3
retrieving revision 1.134
Merging differences between 1.73.2.3 and 1.134 into UPDATING
src/UPDATING already contains the differences between 1.73.2.3 and
1.134



/* How come...? */



? src/contrib
? src/gnu
? src/etc
? src/games
? src/include
? src/lib
? src/libexec
? src/release
? src/bin
? src/sbin
? src/share
? src/sys
? src/usr.bin
? src/usr.sbin
? src/tools
? src/kerberosIV
? src/kerberos5
? src/makeworld_logfiles



/* ? cvs doesn't like all directories, except the removed (crypto)
ones, which are correctly updated. */



cvs checkout: Updating src/crypto
U src/crypto/README
cvs checkout: Updating src/crypto/heimdal
U src/crypto/heimdal/ChangeLog

snip



/* cvs correctly updates the files in the src/crypto directories:
heimdal, kerberos, openssh, etc. */



cvs checkout: Updating src/secure
U src/secure/Makefile

snip



/* cvs correctly updates the files in the src/crypto directories:
heimdal, kerberos, openssh, etc.; nothing else is updated */

202 1:59am /usr #  exit
exit

Script done on Wed Jan 17 02:00:13 2001



Needless to say, I rm -rf'ed the directories marked by "?", and
repeated the whole checkout operation. Apart from a few ? in front of
some files of mine in the source tree, everything was fine. I am now
happily running a -CURRENT built from those very sources.

What am I missing in the above cvs steps ? Why were my source
directories marked as "?" and not updated ? Is it really necessary to
rm -rf those subtrees?


Mutatis mutandis, the same occurred in my ports tree (in the same
-CURRENT system):

Script started on Thu Jan 18 00:28:26 2001
You have mail.
201 12:28am /usr #  cvs -d /myjunk/home/ncvs checkout ports

cvs checkout: Updating ports
U ports/.cvsignore
cvs checkout: move away ports/INDEX; it is in the way
C ports/INDEX
cvs checkout: move away ports/LEGAL; it is in the way
C ports/LEGAL
U ports/Makefile
U ports/README
? ports/README.html
? ports/Mk
? ports/Templates
? ports/Tools
? ports/archivers
? ports/astro
? ports/audio
? ports/benchmarks
? ports/biology
? ports/cad
? ports/chinese
? ports/comms
? ports/converters
? ports/databases
? ports/deskutils
? ports/devel
? ports/editors
? ports/emulators
? ports/ftp
? ports/games

other directories snipped

Again, removing the "?" directories (except distfiles) and cvs
checkout'ing once more gave me a working ports tree. I haven't tried
other modules (yet). I would first like to understand what happened.



-- brand-new problems -

As I said above, I removed the "?" directories, cvs-checkout'ed my
sources, and successfully updated my -CURRENT (test) system. But
on the next src checkout, the following warnings were given:

Script started on Fri Jan 19 

Re: cvsup'ing repo cvs-checkout'ing sources makes cvs complain...

2001-01-21 Thread Szilveszter Adam

Dear Salvo,

Maybe I do not know your problem exactly but I am trying to find out...

I think that what you saw at first try was related to the fact that the
source tree you tried to upgrade did not have CVS directories in each
directory. These directories are needed for proper CVS operation. If you cd
to any dir that you have rm -f-ed and checked out again, you will find a
CVS subdir in each. If you like you can look at what is in those dirs, in
short CVS keeps book about what files have been co-d from the repo, at what
time etc so that it knows what files to update and leaves the rest alone.
Also, it uses this info to decide which files have changed when you want to
commit. So if you want to place a directory under CVS control, you must
first rm -rf it and then check it out again. 

As for your second question: CVS does not normally delete files that you no
longer need but only displays warnings about them. You can remove those
files now. Cvsup in contrast also removes the files if you tell it so.

A useful option to use when doing CVS updates is -P it will delete empty
directories in the tree. But even that will not delete files. Also you can
try to use -d which will create directories upon checkout if needed. Also,
if you want the HEAD branch, you can just say: -A and it will do instead of
-r HEAD.

Good luck and I hope this was of some help.

-- 
Regards:

Szilveszter ADAM
Szeged University
Szeged Hungary


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: cvsup'ing repo cvs-checkout'ing sources makes cvs complain...

2001-01-21 Thread Salvo Bartolotta

 Original Message 

On 1/21/01, 11:28:46 PM, Szilveszter Adam
[EMAIL PROTECTED]
wrote regarding Re: cvsup'ing repo  cvs-checkout'ing sources makes
cvs
complain...:


 Dear Salvo,

 So if you want to place a directory under CVS control, you must
 first rm -rf it and then check it out again.



Thanks a lot again.

And still more apologies for the newbieish questions. Evidently, I was
not correct in implicitly assuming that cvs would recognize/adopt a
previously cvsup'ed tree.



 As for your second question: CVS does not normally delete files that
 you no longer need but only displays warnings about them. You can
 remove those files now. Cvsup in contrast also removes the files if
 you tell it so.


Ok, since I logged those warnings, I'll just write a two-liner
awk/perl script for that :-)

Best regards,
Salvo (I'll get out and grep someone... :-))





To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: cvsup'ing repo cvs-checkout'ing sources makes cvs complain...

2001-01-21 Thread Jeroen Ruigrok van der Werven

-On [20010121 23:10], Salvo Bartolotta ([EMAIL PROTECTED]) wrote:
Following Warner's directions in internat.txt, I removed the
crypto-related stuff, and issued the following explicit command:

One question: why?

crypto is now folded into src-all

-- 
Jeroen Ruigrok van der Werven  VIA Net.Works The Netherlands
BSD: Technical excellence at its best  Network- and systemadministrator
  D78D D0AD 244D 1D12 C9CA  7152 035C 1138 546A B867
Killing me is not enough to make me go away...


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message