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