Feeds:
Posts
Comments

Archive for the ‘Version Control’ Category

svn: Argument list too long

Recently I needed to add thousands of files to an existing repository, but every time I tried svn add * or the svn import functionality I got the error:

svn: Argument list too long

I finally found help with this link but it did not work with file names with spaces.

So below I take the substring of the output in spaces and ? from the whole line before adding the file.

svn status | grep "^?" | awk '{ print substr($0,9,length($0))}' | while read f; do svn add "$f"; done

I’m sure more can be done to make this better, but this did the job I needed. For example using ls to import to svn would be helpful. For now this only works when svn status can be executed.

I think find is the best way to do this, with regex support; but again I just hacked my way to the finish line.

Read Full Post »

While going through and versioning old projects I had to import a fairly large project (6-7 subfolders, hundreds of files). Never mind that they weren’t under version control, they were on a windows machine, and I work via SMB mounts.

Not that I would expect many people to get hung up on this. Editing windows files on a mac apple will sometimes generate a ‘._text.txt’ for a modified ‘text.txt’ file (apple double files).

This shows as an invisible file on the SMB mount. Since I did a straight import, all ‘._*’ files were included in the repository. However ‘_.’ is an illegal file name for a windows machine. So when I tried to svn co or svn up I got the following error on other windows machines.

svn: In directory 'sesame/Images'
svn: Can't open file 'sesame/images/.svn/tmp/text-base/._sesame_50.jpg.svn-base': No such file or directory

Notice the error mentions a file with a ‘._’ prefix. On a windows box I discovered ‘._’ is not part of a valid file name. After removing all of the ‘._’ files from the repository everything works great. Moral of the story: use global-ignores to skip over ‘._*’ files.

Read Full Post »

« Newer Posts

Design a site like this with WordPress.com
Get started