Opened 15 years ago
Closed 13 years ago
#552 closed defect (fixed)
Bitten svn:checkout does not handle failure to check out externals
Reported by: | matthew.davey@… | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 0.6.1 |
Component: | Recipe commands | Version: | dev |
Keywords: | RHEL5, svn:checkout | Cc: | |
Operating System: | Linux |
Description
In our repository we are using svn:externals to check out dependent libraries to build our platform. I am using Bitten 0.6dev and Subversion "svn, version 1.5.5 (r34862)" on "Linux machine 2.6.18-128.1.6.el5 #1 SMP"
The disk appears to have run out of space during this procedure and svn reported the following:
svn: warning: Error handling externals definition for 'externals/dependent-lib': svn: warning: Network connection closed unexpectedly
The svn:checkout part of our recipe does not detect this warning and Bitten reports the checkout passed, even though the dependent external is missing.
Can this warning be detected and fail the entire Bitten run? Is there an extra option that could be provided to the checkout step to detect warnings and abort?
This is the checkout part of our recipe:
<step id="checkout"> <svn:checkout url="svn+ssh://server/svnroot/platform" path="${path}" revision="${revision}"/> </step>
Attachments (0)
Change History (11)
comment:1 Changed 15 years ago by Matthew Davey <matthew.davey@…>
comment:2 Changed 15 years ago by osimons
Could you perhaps make this small change and try again?
-
bitten/build/svntools.py
a b 82 82 :param username: a username of the repository 83 83 :param password: a password of the repository 84 84 """ 85 args = ['checkout' ]85 args = ['checkout', '--non-interactive'] 86 86 if revision: 87 87 args += ['-r', revision] 88 88 if path:
It adds --non-interactive to the arguments, which the Subversion docs claim in some circumstances will just fail the call instead of writing messages/warnings/prompts and existing normally.
comment:3 Changed 15 years ago by hodgestar
- Milestone changed from 0.6.1 to 0.6
comment:4 Changed 15 years ago by Neil Muller
AFAICS, --non-interactive will only effect how subversion prompts, and won't change the how it handles either warnings or errors.
comment:5 Changed 15 years ago by anatoly techtonik <techtonik@…>
Sent mail to consult with Subversion folks upstream http://thread.gmane.org/gmane.comp.version-control.subversion.user/97641
comment:6 Changed 15 years ago by Neil Muller
Testing here with subversion 1.6.9, --non-interactive doesn't cause svn to fail when the external repo is unavailable.
Options that occur to me are:
a) Parsing the checkout output for warning messages. This will arguably also require adding some sort of "fail builds on svn warnings" config option.
b) Add an additional command (svn:checkcheckout for example) that can be used to test that the checkout is sane. I don't have any good ideas for how to do this check, though, as the commands to query the checkout (svn log, etc.) will simply ignore any missed externals.
comment:7 Changed 15 years ago by anatoly techtonik <techtonik@…>
Upstream issue: http://subversion.tigris.org/issues/show_bug.cgi?id=3622
comment:8 Changed 15 years ago by hodgestar
- Milestone changed from 0.6 to 0.6.1
I'm moving this back out to 0.6.1 since I don't think it should hold up the 0.6b3 release. It's looking likely that our fix will be just to tell users to upgrade their subversion client but we'll see what happens on the subversion side.
comment:9 Changed 14 years ago by anatoly techtonik <techtonik@…>
Patch happens on subversion side. In testing.
comment:10 Changed 14 years ago by anatoly techtonik <techtonik@…>
Fixed in 1.7.0 Need to wait for release to test.
comment:11 Changed 13 years ago by hodgestar
- Resolution set to fixed
- Status changed from new to closed
Subversion 1.7.0 was released on 11 Oct 2011 so I'm closing this bug.
I have now updated my subversion client to svn, version 1.6.6 (r40053) but still have the same issue