info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Question about CVSROOT/taginfo file


From: Miller Dale Contractor HQ AFWA
Subject: RE: Question about CVSROOT/taginfo file
Date: Fri, 8 Feb 2002 12:01:58 -0600

> I have modified the CVSROOT/taginfo file in order to execute a script
> when an user make a TAG. CVS invoques this script whit these 
> arguments:
> 
>      $1 -- tagname
>      $2 -- operation "add" for tag, "mov" for tag -F ...
>      $3 -- repository
>      $4->  file revision [file revision ...]$1, $2, $3, $4
> 
> If I do a tag in a directory that contains 3000 files, the 
> server aborts
> the action and returns 'Argument list too long'
> How can I resolve that? (My script does´t need the 4th argument)
> 
> Thanks for your help.
> Miguel.
> 
> 

Miguel,

I reported this same problem in August 1999.

cvs rtag: cannot exec /usr/local/cvsroot/CVSROOT/taginfo_filter:
        Arg list too long
cvs rtag: Pre-tag check failed
cvs [rtag aborted]: correct the above errors first!

Pierre Asselin, Westminster, Colorado posted a reply saying:

"That's a bug in the design.  Long arguments should be passed to scripts on
standard input, as is done for loginfo.  This would be an incompatible
change to taginfo so we need a back-compatibility kludge.  Maybe something
like this?

    ==> taginfo <==
    DEFAULT /usr/local/cvsroot/CVSROOT/old_script
    DEFAULT -stdin /usr/local/cvsroot/CVSROOT/new_script

the `-stdin' option causes the FILENAME, REVISION pairs to be sent to the
script's standard input (recommended);  without the option, the FILENAME,
REVISION pairs are appended to the command line (deprecated)."


I agree that it is a bug in the design!  The -stdin approach would work for
me.

I also received mail about the "Arg list too long" being a limitation of the
shell.  They suggested as a workaround installing one of the open source
shells (bash/tcsh) as the standard shell.  They are not limited in this way.
This suggestion is incorrect!

I am using a SGI and the "ncargs" system tuning value is set for 20480.  The
man page for tcsh talks about the "Arg list too long" problem and suggest
increasing the ncargs to a higher value using systune.  I would need to
increase it above 48000 to handle the current list.  In time that would not
be enough.

For now I have turned my taginfo_filter off because of the problem.

taginfo actually calls the program for each directory that is tagging.  My
taginfo_filter worked fine until it hit a subdirectory that had the "Arg
list too long" problem.  Because of this it writes to the log file for each
directory.  I wished it only called it once but that is another topic.

Dale Miller




reply via email to

[Prev in Thread] Current Thread [Next in Thread]