GNOME Bugzilla – Bug 315083
[patch] add defensive programming in cvs update
Last modified: 2005-10-24 06:44:46 UTC
1. a cvs_module's dir exists under 'checkoutroot' but does not contain a CVS directory 2. jhbuild build fails with an IOError exception in CVSRoot.check_root
Created attachment 51683 [details] [review] handle missing CVS/Root
I believe I have also seen this problem before. Confirming report because of patch.
Running "cvs checkout" when a non-CVS working copy is in the way is going to cause problems, so probably isn't the best solution. It would be nice to give a message like "foobar is not a CVS working copy" rather than have CVS complain about files/directories being in the way.
Created attachment 51830 [details] [review] give 'not a CVS working copy' Update patch according to jamesh's advice. When a non-CVS copy is in the way, print a message like 'jhbuild: /checkout_root/foo is not a CVS working copy of module "foo"'.
Created attachment 52134 [details] [review] cvs update if not exist, print warning otherwise The previous patch had an embarrassing bug of confusing EEXIST with ENOENT. This one is actually tested and just prints a warning when an exception is raised.
Fixed in CVS. Thanks for the patch.