What to do when things don't work

Yes, yes, we know you've read the cvs web page, and the cvs faq, and you've for sure done everything you were supposed to, but you're still having trouble checking out, committing, updating or merging through CVS. So, you've come here, to the CVS WOE page, to learn what's going wrong.

Help. cvs update doesn't work.

Reminder. You use cvs update when you want to bring your branch up to date with someone else's tag, or with the main repository. To bring up to date with the main repository, type:
cd top-of-your-imp-sim-tree
cvs update

to update with someone else's branch, or an intermediate tag named, some-branch, you would type:

cd top-of-your-imp-sim-tree
cvs update -j some-branch

CVS is complaining that it can't find the CVS directory under sal

In all likelihood, you have forgotten to unimport all that sal crap before you
gmake unimport
from the top of your imp-sim tree.

CVS is telling me that sal files are not in my branch.

For example, you might see something like:
Merging differences between 1.3 and 1.3.20.1 into files
cvs update: Updating src/mmc
cvs update: file mmc_main.c only in revision i6-wil-m7-1
cvs update: file mmc_init.c only in revision i6-wil-m7-1
cvs update: file mmc_debug.c only in revision i6-wil-m7-1
cvs update: file mmc_stat.c only in revision i6-wil-m7-1
cvs update: file mmc_inter.c only in revision i6-wil-m7-1
cvs update: file mmc_prefetch.c only in revision i6-wil-m7-1
Curious as you are, you even check what the status of those files are in the named branch with
cvs stat src/mmc/mmc_main.c
and you get back nothing.

In all likelihood, the person who made the tag failed to do the unimport before they tagged. Even though those files are not part of the repository, they can be found in the Attic (since they at one time were part of the repository). CVS, in it's wisdom, decides that the files should be part of the tree, somehow and sort of, but not entirely, and then yells at other people who try to update based on that tree. Of course, the person who performed the tag thinks everything is hunky dorey.

CVS is telling me that a file which I know doesn't exist anymore exists in the update tag

Neither CVS nor us are very good at keeping track of files that we've removed, and so the result is that deleted files often reappear in the repository and in intermediate branches. Just as a reminder, to delete a file:
rm file
cvs remove file
cvs commit file
It's as simple as that!

If the file is not removed properly, it will continue to reappear. Don't worry, just complain to the mergemaster and to the person who was responsible for removing the file originally.


lizhang@cs.utah.edu
Last updated October 29, 1998