Strict locking for some special files

2003-12-16 Thread Bernd

Hello,
I normaly don't want to use locking on the cvs archive.
On Windows projects I think it's simplier to use strickt locking on
the resource and the corrosponding header file. Merging changes in
that files does not make happy anyone :-)
If not how can I enshure that these files can only be checked out
locked?
Files should be read only upon someone uses cvs edit. Noone should be able
to use a cvs edit upon the first editor uses cvs unedit.
Regards
Bernd



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


Re: cvs-1.11.10 win32 VC98 cannot find "assert" during build

2003-12-16 Thread Mark D. Baushke
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi David,

You need to comment out this line: 

> assert ( isdir ( path ) );

the change has already already been committed to the cvs1-11-x-branch
of the repository.

Thanks,
-- Mark

David Everly <[EMAIL PROTECTED]> writes:

> The following command builds cvs-1.11.9, but not cvs-1.11.10 under
> windows:
> 
>nmake /f cvsnt.mak CFG="cvsnt - Win32 Debug"
> 
> The failure appears to be:
> 
>   link.exe @c:\temp\nma01012.
> filesubr.obj : error LNK2001: unresolved external symbol _assert
> .\WinDebug/cvs.exe : fatal error LNK1120: 1 unresolved externals
> NMAKE : fatal error U1077: 'link.exe' : return code '0x460'
> Stop.
> 
> There is related information about "assert" earlier in the build
> log:
> 
> cl.exe /nologo /MLd /W3 /Gm /GX /Zi /Ob1 /I "windows-NT" /I
> "lib" /I "src" /I "zlib" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D
> "HAVE_CONFIG_H" /Fp".\WinDebug/cvsnt.pch" /YX /Fo".\WinDebug/"
> /Fd".\WinDebug/" /c ".\windows-NT\filesubr.c"
> filesubr.c
> .\windows-NT\filesubr.c(766) : warning C4013: 'assert' undefined;
> assuming extern returning int
> 
> My compiler is Microsoft Visual Studio / VC98.
> 
> I don't know much about building on windows, not sure what else
> to provide, so here is the seemingly related source code change:
> 
> windows-NT$ cvs diff -rcvs_1_11_9 -rcvs_1_11_10 filesubr.c 
> Index: filesubr.c
> ===
> RCS file: /users/home/tibco/tibadmin/cvs/cvs/windows-NT/filesubr.c,v
> retrieving revision 1.1.1.1
> retrieving revision 1.1.1.2
> diff -r1.1.1.1 -r1.1.1.2
> 743a744,782
> > /* char *
> >  * xresolvepath ( const char *path )
> >  *
> >  * Like xreadlink(), but resolve all links in a path.
> >  *
> >  * INPUTS
> >  *  pathThe original path.
> >  *
> >  * RETURNS
> >  *  The path with any symbolic links expanded.
> >  *
> >  * ERRORS
> >  *  This function exits with a fatal error if it fails to read the link for
> >  *  any reason.
> >  */
> > char *
> > xresolvepath ( path )
> > const char *path;
> > {
> > char *hardpath;
> > char *owd;
> > 
> > assert ( isdir ( path ) );
> > 
> > /* FIXME - If HAVE_READLINK is defined, we should probably walk the path
> >  * bit by bit calling xreadlink().
> >  */
> > 
> > owd = xgetwd();
> > if ( CVS_CHDIR ( path ) < 0)
> > error ( 1, errno, "cannot chdir to %s", path );
> > if ( ( hardpath = xgetwd() ) == NULL )
> > error (1, errno, "cannot readlink %s", hardpath);
> > if ( CVS_CHDIR ( owd ) < 0)
> > error ( 1, errno, "cannot chdir to %s", owd );
> > free (owd);
> > return hardpath;
> > }
> > 
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.3 (FreeBSD)

iD8DBQE/39dz3x41pRYZE/gRAhGxAKCYR6Dml5+ucaa8WjVZybLOtQkcsACgxAPR
UIaX9xHD9X4g/QkiHkNI3FY=
=elDI
-END PGP SIGNATURE-


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


Re: Password authentication on pserver

2003-12-16 Thread Purushotham Komaravolu
Its a windows based server. Its not storing the passwords.
Puru
- Original Message - 
From: "Larry Jones" <[EMAIL PROTECTED]>
To: "Purushotham Komaravolu" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Tuesday, December 16, 2003 4:32 PM
Subject: Re: Password authentication on pserver


> Purushotham Komaravolu writes:
> >
> >  I am using cvs (pserver) on redhat linux. I  have a few scripts
> > which need to be executed every night. For that I need to pass the cvs
> > password in that script. Can somebody tell me how to pass the password
> > as part of the script.
>
> You shouldn't need to.  You only need to do "cvs login" once for a
> particular repository -- CVS remembers the login information (in your
> ~/.cvspass file) and uses for all subsequent access to that repository.
> So just login once interactively, then your scripts won't need to.
>
> -Larry Jones
>
> Everybody's a slave to routine. -- Calvin
>


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


Re: automating cvs checkout/checkin and also don't checkin identical files

2003-12-16 Thread Eric Siegerman
On Tue, Dec 16, 2003 at 06:03:30PM -0700, Chad Woolley wrote:
> I can now write a custom 
> Ant task to commit all files, without worrying which have been modified.

Have you looked at the "cvs" core task?

> Thanks for your help.

You're welcome.

--

|  | /\
|-_|/  >   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: automating cvs checkout/checkin and also don't checkin identical files

2003-12-16 Thread Chad Woolley
Eric Siegerman wrote:
You'll have to explain a bit more what you mean, I think.

I'm looking to automate this via Apache Ant.


Also, on the 
checkin, I don't want to check in any files that have identical contents to the 
repository version - even if they have been saved with a new timestamp.


This is how CVS already works.

Thanks, I never realized that.  I thought I had to manually ignore the 
identical files.

I think that's all I really needed to know.  I can now write a custom 
Ant task to commit all files, without worrying which have been modified.

Thanks for your help.



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


Re: Password authentication on pserver

2003-12-16 Thread Larry Jones
Purushotham Komaravolu writes:
> 
>  I am using cvs (pserver) on redhat linux. I  have a few scripts
> which need to be executed every night. For that I need to pass the cvs
> password in that script. Can somebody tell me how to pass the password
> as part of the script.

You shouldn't need to.  You only need to do "cvs login" once for a
particular repository -- CVS remembers the login information (in your
~/.cvspass file) and uses for all subsequent access to that repository. 
So just login once interactively, then your scripts won't need to.

-Larry Jones

Everybody's a slave to routine. -- Calvin


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


Re: cvs_output() and error()

2003-12-16 Thread Larry Jones
Brice Oliver writes:
> 
> What's the difference between using cvs_output() and error() for sending
> messages back to the client?

Use the source, Luke.

error is a wrapper around cvs_outerr (not cvs_output) that prepends the
program name and subcommand information to the message and provides some
printf-like formating for variable substitution.  cvs_output and
cvs_outerr are lower-level routines that simply send a buffer to stdout
or stderr respectively.

> Which method is used for sending message that pertain to "operation
> completed successfully"?

Yes.

> Are all of the messages that use either cvs_output() or error() always be
> sent back to the client, or are some of those messages trapped internally by
> the cvs server?

All output is sent back to the client.

-Larry Jones

Things are never quite as scary when you've got a best friend. -- Calvin


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


cvs_output() and error()

2003-12-16 Thread Brice Oliver
What's the difference between using cvs_output() and error() for sending
messages back to the client?

Which method is used for sending message that pertain to "operation
completed successfully"?

Are all of the messages that use either cvs_output() or error() always be
sent back to the client, or are some of those messages trapped internally by
the cvs server?  If there are some that are trapped internally, how can I
tell that from looking at the code?

Brice Oliver

Systems Analyst, Infrastructure
Product Development
Ontario Systems
Tel 765.751.7100
Fax 765.751.7199
mailto:[EMAIL PROTECTED]



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


Password authentication on pserver

2003-12-16 Thread Purushotham Komaravolu




Hello,
 I 
am using cvs (pserver) on redhat linux. I  have a few scripts which need to 
be executed every night. For that I need to pass the cvs password in that 
script. Can somebody tell me how to pass the password as part of the 
script.
Thanks
Sincerely,
Puru
___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs


Password authentication on pserver

2003-12-16 Thread Purushotham Komaravolu



Hello,
 I 
am using cvs (pserver) on redhat linux. I  have a few scripts which need to 
be executed every night. For that I need to pass the cvs password in that 
script. Can somebody tell me how to pass the password as part of the 
script.
Thanks
Sincerely,
Puru
___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs


cvs-1.11.10 win32 VC98 cannot find "assert" during build

2003-12-16 Thread David Everly
The following command builds cvs-1.11.9, but not cvs-1.11.10 under
windows:

   nmake /f cvsnt.mak CFG="cvsnt - Win32 Debug"

The failure appears to be:

link.exe @c:\temp\nma01012.
filesubr.obj : error LNK2001: unresolved external symbol _assert
.\WinDebug/cvs.exe : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: 'link.exe' : return code '0x460'
Stop.

There is related information about "assert" earlier in the build
log:

cl.exe /nologo /MLd /W3 /Gm /GX /Zi /Ob1 /I "windows-NT" /I
"lib" /I "src" /I "zlib" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D
"HAVE_CONFIG_H" /Fp".\WinDebug/cvsnt.pch" /YX /Fo".\WinDebug/"
/Fd".\WinDebug/" /c ".\windows-NT\filesubr.c"
filesubr.c
.\windows-NT\filesubr.c(766) : warning C4013: 'assert' undefined;
assuming extern returning int

My compiler is Microsoft Visual Studio / VC98.

I don't know much about building on windows, not sure what else
to provide, so here is the seemingly related source code change:

windows-NT$ cvs diff -rcvs_1_11_9 -rcvs_1_11_10 filesubr.c 
Index: filesubr.c
===
RCS file: /users/home/tibco/tibadmin/cvs/cvs/windows-NT/filesubr.c,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.2
diff -r1.1.1.1 -r1.1.1.2
743a744,782
> /* char *
>  * xresolvepath ( const char *path )
>  *
>  * Like xreadlink(), but resolve all links in a path.
>  *
>  * INPUTS
>  *  path  The original path.
>  *
>  * RETURNS
>  *  The path with any symbolic links expanded.
>  *
>  * ERRORS
>  *  This function exits with a fatal error if it fails to read the link for
>  *  any reason.
>  */
> char *
> xresolvepath ( path )
> const char *path;
> {
> char *hardpath;
> char *owd;
> 
> assert ( isdir ( path ) );
> 
> /* FIXME - If HAVE_READLINK is defined, we should probably walk the path
>  * bit by bit calling xreadlink().
>  */
> 
> owd = xgetwd();
> if ( CVS_CHDIR ( path ) < 0)
>   error ( 1, errno, "cannot chdir to %s", path );
> if ( ( hardpath = xgetwd() ) == NULL )
>   error (1, errno, "cannot readlink %s", hardpath);
> if ( CVS_CHDIR ( owd ) < 0)
>   error ( 1, errno, "cannot chdir to %s", owd );
> free (owd);
> return hardpath;
> }
> 




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


Re: repository files

2003-12-16 Thread Mark D. Baushke
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Ruud Dozijn <[EMAIL PROTECTED]> writes:

> 
> >Ruud Dozijn <[EMAIL PROTECTED]> writes:
> >
> > > I am looking for an easy way to determine the file names in the
> > repository:
> > >
> > > - I check out a project
> > > - I cd to the project directory (containing the CVS subdirectory)
> > > - is there a cvs subcommand that returns the names of the files in the
> > > current directory that also exist in the repository?
> >
> >You probably want the 'cvs status -l' or 'cvs log -l -R' command.
> >
> >If you just wanted a list of files, the following commands may be useful
> >to you:
> >
> >cvs -q -n status -l | grep File: | sed 's/File: \(.*\)Status:.*/\1/'
> >or
> >cvs -q -n log -l -N -h | grep '^Working file: ' | sed 's/Working
> > file: //'
> >
> >otherwise, you may get more information than you really wanted.
> 
> It is allmost what I meant. The cvs log version is no good because it
> give the names of the repository files. In the cvs status command, the
> subdirectory names are not included.

The 'Working file:' line on the cvs log gives you what you want. Avoid
the -l option if you want names of files in subdirectories (your
original question was for the 'current directory')

> What I want to do is write a script that processes all the files that
> are in the repository. So I need the file names of those files
> relatively to the current directory. I want to get a list like
> 
> file_1
> file_2
> in/file3
> in/file4
> out/put

cvs -q -n log -N -h | grep '^Working file: ' | sed 's/Working file: //'
 
> using cvs -Q -n status -R, further processing would be needed if it
> reports a file FILE that exists in several subdirectories.
> 
> I'm not sure this is possible using the cvs subcommands. I thought
> maybe it is easier to use the output of the status subcommand, take
> the 'Repository revision' line and remove from the file name the ,v
> and the part of the filename that is in CVS/Repository and CVS/Root.
> What do you think?

If you are willing to troll thru the CVS files, then the following
script may be what you want.

-- Mark

#!/usr/bin/perl

# find all non-cvs controlled files

use strict;
use File::Find;
my(%globalfind, $key);

File::Find::find(\&wanted, '.');

foreach $key (sort keys %globalfind) {
print $key,"\n" if ($globalfind{$key} eq 'cvs' && -f $key );
}

sub wanted {
my($name) = $File::Find::name;
my($dir) = $File::Find::dir;

if ($_ eq 'CVS') {
$File::Find::prune = 1;
$globalfind{$dir} = 'cvs';
proc_cvs_entries($dir, 'CVS/Entries') if ( -f 'CVS/Entries' );
} else {
# not a CVS controlled entity
$globalfind{$name} = 'non-cvs' if ($globalfind{$name} ne 'cvs');
}
}

# Process a CVS/Entries file
sub proc_cvs_entries {
my($pdir, $entries) = @_;
my($entry, $file, $rest);

# A typical CVS/Entries file looks like this:
# D
#or
# D/
#or
# /file/...
if (open(ENTRIES, $entries)) {
while($entry=) {
chomp($entry);

# Just 'D' on a line by itself indicates that all
# subdirectories have been enumerated in the Entries file
# already.
next if ($entry eq 'D');

# We don't care about anything but the name of the file
(undef, $file, $rest) = split(/\//, $entry, 3);
$globalfind{$pdir.'/'.$file} = 'cvs'; # mark as processed
}
close(ENTRIES);
} else {
warn "Unable to read $entries: $!";
}
}
__END__
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.3 (FreeBSD)

iD8DBQE/3zy23x41pRYZE/gRAhQpAKCCIf8V4hyM6+qWqcdRF+HGKeebUACeN+Hd
XTK7Haudvp5ejuSm0Ozl+So=
=snlD
-END PGP SIGNATURE-


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


Re: automating cvs checkout/checkin and also don't checkin

2003-12-16 Thread Larry Jones
Eric Siegerman writes:
> 
> If you're working client/server, CVS will tell you in its
> log-message-editor comments that the file is "modified", but it
> won't actually check in a new revision.  That little mislead
> happens because at the time CVS collects the log message, it
> knows which files have different timestamps, but doesn't yet know
> which subset of them also have different content.  (It can't diff
> the files until it's sent the sandbox copy to the server (duh),
> and it can't do that until it has the log message, because it
> needs to send all data necessary for the commit to the server in
> one go, without any pauses for user interaction.)

However, if you do an update before you commit (which you should, to
check for other changes that might conflict with your changes), *that*
will send all the files with different timestamps to the server and
determine which have really been modified, eliminating the "false
positives" in the log message editor.

-Larry Jones

I'm crying because out there he's gone, but he's not gone inside me. -- Calvin


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


Re: CVS Feature Version 1.12.3 Released! (security update)

2003-12-16 Thread Kayed Alfi
Please tell me or point me to documentation on how to
upgrade my version of CVS if I am using wincvs 1.3.
?

Thanks,
--- Derek Robert Price <[EMAIL PROTECTED]> wrote:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
> 
> Steve McIntyre wrote:
> 
> >On Fri, Dec 05, 2003 at 12:25:55AM -0500, Derek
> Robert Price wrote:
> >
> >>CVS feature version 1.12.3 has been released. 
> Feature releases contain
> >>new features as well as all the bug fixes from the
> stable release.  This
> >>release fixes a security issue with no known
> exploits that could cause
> >>previous versions of CVS to attempt to create
> files and directories in
> >>the filesystem root.  This release also fixes
> several issues relevant to
> >>case insensitive filesystems and some other bugs. 
> We recommend this
> >>upgrade for all CVS clients and servers already
> running the feature
> >>release and those users who like to stay on the
> cutting edge!
> >
> >
> >Derek, are you sure the simple fix in modules.c to
> check for
> >!isabsolute() will fix the hole here? What about
> people specifying
> >../../../../../../ ? Probably the
> easiest fix for that is
> >to modify isabsolute() to check for .. entries in
> the path
> >specified.
> >
> >Thoughts?
> 
> 
> If you can send me a reproducible case where CVS
> doesn't abort with an
> error, I'll be happy to look into it, but I am
> pretty sure CVS has been
> catching the indirection case for years.  Go ahead
> and try it.
> 
> Derek
> 
> - --
> *8^)
> 
> Email: [EMAIL PROTECTED]
> 
> Get CVS support at !
> - --
> I will return the seeing-eye dog.
> I will return the seeing-eye dog.
> I will return the seeing-eye dog...
> 
>   - Bart Simpson on chalkboard, _The
> Simpsons_
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v1.0.7 (GNU/Linux)
> Comment: Using GnuPG with Netscape -
> http://enigmail.mozdev.org
> 
>
iD8DBQE/3nr+LD1OTBfyMaQRAlquAJ4yytDbls+IFIGo3ylQWstqC+0MAgCgvY+b
> WOb43T30fO3bVNDW18p5x04=
> =RV9Q
> -END PGP SIGNATURE-
> 
> 
> 
> 
> ___
> Info-cvs mailing list
> [EMAIL PROTECTED]
> http://mail.gnu.org/mailman/listinfo/info-cvs


__
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree


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


Re: repository files

2003-12-16 Thread Ruud Dozijn

Ruud Dozijn <[EMAIL PROTECTED]> writes:

> I am looking for an easy way to determine the file names in the 
repository:
>
> - I check out a project
> - I cd to the project directory (containing the CVS subdirectory)
> - is there a cvs subcommand that returns the names of the files in the
> current directory that also exist in the repository?

You probably want the 'cvs status -l' or 'cvs log -l -R' command.

If you just wanted a list of files, the following commands may be useful
to you:
   cvs -q -n status -l | grep File: | sed 's/File: \(.*\)Status:.*/\1/'
or
   cvs -q -n log -l -N -h | grep '^Working file: ' | sed 's/Working file: 
//'

otherwise, you may get more information than you really wanted.
It is allmost what I meant. The cvs log version is no good because it give 
the names of the repository files. In the cvs status command, the 
subdirectory names are not included.

What I want to do is write a script that processes all the files that are in 
the repository. So I need the file names of those files relatively to the 
current directory. I want to get a list like

file_1
file_2
in/file3
in/file4
out/put
using cvs -Q -n status -R, further processing would be needed if it reports 
a file FILE that exists in several subdirectories.

I'm not sure this is possible using the cvs subcommands. I thought maybe it 
is easier to use the output of the status subcommand, take the 'Repository 
revision' line and remove from the file name the ,v and the part of the 
filename that is in CVS/Repository and CVS/Root.
What do you think?

Ruud

_
Protect your PC - get McAfee.com VirusScan Online 
http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963



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


Re: repository files

2003-12-16 Thread Mark D. Baushke
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Ruud Dozijn <[EMAIL PROTECTED]> writes:

> I am looking for an easy way to determine the file names in the repository:
> 
> - I check out a project
> - I cd to the project directory (containing the CVS subdirectory)
> - is there a cvs subcommand that returns the names of the files in the
> current directory that also exist in the repository?

You probably want the 'cvs status -l' or 'cvs log -l -R' command.

If you just wanted a list of files, the following commands may be useful
to you:

   cvs -q -n status -l | grep File: | sed 's/File: \(.*\)Status:.*/\1/' 
or
   cvs -q -n log -l -N -h | grep '^Working file: ' | sed 's/Working file: //'

otherwise, you may get more information than you really wanted.

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

iD8DBQE/3tKw3x41pRYZE/gRAqmtAJ4yzkSG3OQsFXqIQf5ZSS5GwhDV6QCfd+so
k4V7+OIdDC2KMOGXPt1jQ/w=
=wEND
-END PGP SIGNATURE-


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


repository files

2003-12-16 Thread Ruud Dozijn
hi all,

I am looking for an easy way to determine the file names in the repository:

- I check out a project
- I cd to the project directory (containing the CVS subdirectory)
- is there a cvs subcommand that returns the names of the files in the 
current directory that also exist in the repository?

tia, ruud

_
Play online games with your friends with MSN Messenger 
http://messenger.msn.nl/



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