Mercurial > hg
changeset 26825:78539633acf3 stable
largefiles: don't mute and 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.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Fri, 23 Oct 2015 21:27:29 +0200 |
parents | 30db531e4146 |
children | 39dbf495880b |
files | hgext/largefiles/proto.py tests/test-largefiles-cache.t |
diffstat | 2 files changed, 4 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/largefiles/proto.py Fri Oct 23 21:27:29 2015 +0200 +++ b/hgext/largefiles/proto.py Fri Oct 23 21:27:29 2015 +0200 @@ -86,15 +86,14 @@ # 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=
--- a/tests/test-largefiles-cache.t Fri Oct 23 21:27:29 2015 +0200 +++ b/tests/test-largefiles-cache.t Fri Oct 23 21:27:29 2015 +0200 @@ -209,12 +209,10 @@ $ hg serve -R ../mirror -d -p $HGPORT1 --pid-file hg.pid --config largefiles.usercache=$TESTTMP/mirrorcache $ cat hg.pid >> $DAEMON_PIDS -(the following push fails but doesn't show why) $ 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