[Top][All Lists]
[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