Case Ambiguity When Using CVS Update

We recently ran into an issue when using cvs update from a windows command line that involved case sensitivity. I thought I would share it with everyone.

Scenario: Update code to an older version

Let us compare two tags checked into cvs

  • version1 is the earlier version
  • version2 is the later version

Basically in version 2 we rename the to and create a new user dao in the /user/dao package but this time we do NOT capitalize dao, such as

Now suppose we have version2 loaded on our machine and we want to update to the code to version1

Start (version2)


CVS update back to version1

cvs update -P -d -C -A -r version1

cvs update: Updating .
cvs update: Case ambiguity between and  Using
cvs update: `' is no longer in the repository
cvs update: `' is no longer in the repository

There seems to be an error involving Case Ambiguity

  • If we list the files in the /user/dao/ directory we see
  • It’s empty! We expected to see (version1)?

What happened?

  1. CVS tried to update but found Case ambiguity, so it left there instead of updating
  2. CVS then deleted since it doesn’t exist in version 1
  3. Finally CVS deleted since it doesn’t exist in version 1.

Moral of the story

  • Watch case sensitivity when using cvs update on Windows
  • It’s probably a good idea to delete the source code prior to the cvs update (that would fix the above issue)


  • We did try the -S flag for cvs update but this did not solve our issue.

It's only fair to share...
Share on Facebook
Tweet about this on Twitter
Share on LinkedIn

Leave a Reply