After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 315083 - [patch] add defensive programming in cvs update
[patch] add defensive programming in cvs update
Status: RESOLVED FIXED
Product: jhbuild
Classification: Infrastructure
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: James Henstridge
Jhbuild QA
Depends on:
Blocks:
 
 
Reported: 2005-09-02 03:40 UTC by Scott Tsai
Modified: 2005-10-24 06:44 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
handle missing CVS/Root (928 bytes, patch)
2005-09-02 03:41 UTC, Scott Tsai
needs-work Details | Review
give 'not a CVS working copy' (1.70 KB, patch)
2005-09-05 14:09 UTC, Scott Tsai
none Details | Review
cvs update if not exist, print warning otherwise (905 bytes, patch)
2005-09-12 16:41 UTC, Scott Tsai
none Details | Review

Description Scott Tsai 2005-09-02 03:40:07 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
Comment 1 Scott Tsai 2005-09-02 03:41:41 UTC
Created attachment 51683 [details] [review]
handle missing CVS/Root
Comment 2 Christian Kirbach 2005-09-03 12:40:13 UTC
I believe I have also seen this problem before.

Confirming report because of patch.
Comment 3 James Henstridge 2005-09-05 10:45:25 UTC
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.
Comment 4 Scott Tsai 2005-09-05 14:09:44 UTC
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"'.
Comment 5 Scott Tsai 2005-09-12 16:41:23 UTC
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.
Comment 6 James Henstridge 2005-10-24 06:44:46 UTC
Fixed in CVS.  Thanks for the patch.