[PATCH 4 of 4 stable] largefiles: don't mute/obfuscate http errors when putlfile fails
Mads Kiilerich
mads at kiilerich.com
Wed Oct 21 14:16:07 CDT 2015
# HG changeset patch
# User Mads Kiilerich <madski at unity3d.com>
# Date 1445454338 -7200
# Wed Oct 21 21:05:38 2015 +0200
# Branch stable
# Node ID 672fe15eacfa6cb600febf2e0ad48e9f9fd81c18
# Parent 45a74ff314b78e2539049bbf3e90d59e9a6c90dd
largefiles: don't mute/obfuscate http errors when putlfile fails
'unexpected putlfile response: None' when an http error occurs is not very
helpful.
Instead, leave the handling of urllib2.HTTPError exceptions to other layers.
diff --git a/hgext/largefiles/proto.py b/hgext/largefiles/proto.py
--- a/hgext/largefiles/proto.py
+++ b/hgext/largefiles/proto.py
@@ -86,15 +86,14 @@ def wirereposetup(ui, repo):
# input file-like into a bundle before sending it, so we can't use
# it ...
if issubclass(self.__class__, httppeer.httppeer):
- res = None
+ res = self._call('putlfile', data=fd, sha=sha,
+ headers={'content-type':'application/mercurial-0.1'})
try:
- res = self._call('putlfile', data=fd, sha=sha,
- headers={'content-type':'application/mercurial-0.1'})
d, output = res.split('\n', 1)
for l in output.splitlines(True):
self.ui.warn(_('remote: '), l) # assume l ends with \n
return int(d)
- except (ValueError, urllib2.HTTPError):
+ except ValueError:
self.ui.warn(_('unexpected putlfile response: %r\n') % res)
return 1
# ... but we can't use sshrepository._call because the data=
diff --git a/tests/test-largefiles-cache.t b/tests/test-largefiles-cache.t
--- a/tests/test-largefiles-cache.t
+++ b/tests/test-largefiles-cache.t
@@ -212,8 +212,7 @@ Test coverage of error handling from put
$ hg push http://localhost:$HGPORT1 -f --config files.usercache=nocache
pushing to http://localhost:$HGPORT1/
searching for changes
- unexpected putlfile response: None
- abort: remotestore: could not put $TESTTMP/src/.hg/largefiles/e2fb5f2139d086ded2cb600d5a91a196e76bf020 to remote store http://localhost:$HGPORT1/
+ abort: remotestore: could not open file $TESTTMP/src/.hg/largefiles/e2fb5f2139d086ded2cb600d5a91a196e76bf020: HTTP Error 403: ssl required
[255]
$ rm .hg/largefiles/e2fb5f2139d086ded2cb600d5a91a196e76bf020
More information about the Mercurial-devel
mailing list