CVS update ignore directories from repository, namely illegal names in windows like aux

911 views Asked by At

I have trouble checking out a directory called aux, because that name is an illegal directory name in Windows (remnant from DOS I believe). I have no way of manipulating the repository itself.

I use TortoiseCVS, but it doesn't have the option to ignore directories that are available on the repository. Using .cvsignore isn't working either, because that only ignores commits.

Is this possible at all? TortoiseCVS simply says the following, which is rather discouraging:

Tortoise Tip: This error may be caused by having a folder and a file with the same name (apart from capitalization) in the repository. Such a repository CANNOT be checked out on a Windows file system.

The actual error from CVS is this:

cvs [update aborted]: could not chdir to aux: Bad address

Note: I can live with a solution where I can checkout all folders, except this one. Since there are 1000+ folders, it is not trivial to just checkout all other folders manually.

1

There are 1 answers

0
Burhan Ali On BEST ANSWER

Here is what I would do:

  • Fire up a Linux machine (physical or virtual, real install of live DVD, it doesn't matter).
  • Check out the project using cvs.
  • Remove the contents of the directory using cvs rm and commit the changes.
    • Note that cvs does not allow you to remove directories themselves unfortunately.
  • Go back to the Windows machine and either check out project again or do a cvs update.

One thing you will need to do it add the -P option which will prune empty directories. If you don't add this then it will still attempt to download the empty aux directory.