info-cvs
[Top][All Lists]
Advanced

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

RE: cvs rtag: cannot exec ...: Argument list too long


From: Jim Searle
Subject: RE: cvs rtag: cannot exec ...: Argument list too long
Date: Fri, 2 Dec 2005 11:10:48 -0800


> -----Original Message-----
> From: Mark E. Hamilton [mailto:address@hidden 
> Sent: Friday, December 02, 2005 10:48 AM
> To: Jim Searle
> Cc: address@hidden
> Subject: Re: cvs rtag: cannot exec ...: Argument list too long
> 
> 
> Jim Searle wrote:
> > For a directory with a large number of files I get this error: cvs 
> > tag: cannot exec .../tag_prep.pl: Argument list too long
> > 
> > I searched the mailing lists and find references of this issue that 
> > are very old, but I'm not able to find any fix...
> > 
> > http://lists.gnu.org/archive/html/info-cvs/2002-02/msg00265.html
> > 
> > Any help would be appreciated.
> > - Jim
> 
> Jim,
> 
> This is an operating system problem. Some internal buffer is to small 
> for the number of files in the directory. I've seen it in on 
> a number of 
> different types of systems (IBM, SGI, Linux.) On most any system you 
> reproduce this error with:
> 
> ls `find /some/big/directory/hierarchy`
> 
> (You can back up the hierarchy untill you go over the limit 
> if you want 
> to find out about what it is.)
> 
> You didn't provide enough context, so I'm guessing that this is 
> happening in a script invoked by taginfo. From the man page 
> the command 
> would look something like this:
> 
> .../tag_prep.pl tagname operation repository {filename revision} ...
> 
> 
> If a taginfo.sh script (instead of tag_prep.pl) does this:
> 
> #!/bin/bash
> echo $@
> 
> the output looks something like this:
> 
> sahp6613% cvs rtag test_tag2 dir1
> test_tag2 add /var/scratch/mhamilt/cvsrepos/test/dir1 test.dat 1.1 
> test1.dat 1.1
> 
> Basically, you've just got too many {filename revision} pairs on the 
> command line, which means that you've got too many files in that 
> repository directory. (I suspect that if you went into that 
> repository 
> directory and did an 'ls *' you'd get the same error, though 
> depending 
> on how close to the limit you are the revision numbers for each file 
> could be what's pushing you over.)
> 
> The two solutions that I know of are to find out where this buffer is 
> configured (in the kernal?) and make it bigger, or reduce the 
> number of 
> files you've got in that repository directory.
> 

Mark,

Thanks for the detailed information.  It just seems like a simple solution
to this would be to modify cvs to allow the files to be passed in via stdin
instead of the command line, as mentioned in this post:
http://lists.gnu.org/archive/html/info-cvs/2002-02/msg00265.html

Thanks,
Jim







reply via email to

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