How to detect missing CVS directories

Arnon Weinberg <[email protected]> Sat, 25 Feb 2012 22:36:20 -0500
Newsgroups gmane.comp.version-control.cvs.general
Organization Back2Front
Message-ID <[email protected]>
This problem seems like it should be common, but I haven't found it 
posted anywhere.

Developers may accidentally delete a CVS working directory (ie, the one 
with the Entries, Repositories, Root files), and not notice that they 
have done so.  The cvs command just ignores those directories from then 
on, so they don't get updated.  When checking out / updating a large 
tree, developers may not notice that this directory is then skipped.

I modified a file, then simulated a missing CVS directory as follows:
 >cd ~/directory/pwd
 >mv CVS CVS.bak
 >cvs checkout -A -d ~/directory module
...
? /home/user/directory/pwd
...

Running cvs checkout (or cvs update) without errors or change flags 
generally is assumed to mean that the tree is now up to date.  However, 
in this case, the directory is just skipped (cvs treats it like any file 
it doesn't recognize, even though it is in the repository), and the tree 
is not sync'ed.

1) How can missing CVS directories be detected?
2) How can they be restored / regenerated?



Arnon Weinberg
www.back2front.ca