Mercurial > hg
view tests/test-issue1802.t @ 39483:1fc39367eafd
httppeer: calculate total expected bytes correctly
User-facing error messages that handled httplib.IncompleteRead errors in
Mercurial used to look like this:
abort: HTTP request error (incomplete response; expected 3 bytes got 1)
But the errors that are being handled underneath the UI look like this:
IncompleteRead(1 bytes read, 3 more expected)
I.e. the error actually counts total number of expected bytes minus bytes
already received.
Before, users could see weird messages like "expected 10 bytes got 10", while
in reality httplib expected 10 _more_ bytes (20 in total).
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Sat, 08 Sep 2018 23:57:07 +0800 |
parents | eb586ed5d8ce |
children | 91a0bc50b288 |
line wrap: on
line source
#require execbit Create extension that can disable exec checks: $ cat > noexec.py <<EOF > from mercurial import extensions, util > def setflags(orig, f, l, x): > pass > def checkexec(orig, path): > return False > def extsetup(ui): > extensions.wrapfunction(util, 'setflags', setflags) > extensions.wrapfunction(util, 'checkexec', checkexec) > EOF $ hg init unix-repo $ cd unix-repo $ touch a $ hg add a $ hg commit -m 'unix: add a' $ hg clone . ../win-repo updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ chmod +x a $ hg commit -m 'unix: chmod a' $ hg manifest -v 755 * a $ cd ../win-repo $ touch b $ hg add b $ hg commit -m 'win: add b' $ hg manifest -v 644 a 644 b $ hg pull pulling from $TESTTMP/unix-repo searching for changes adding changesets adding manifests adding file changes added 1 changesets with 0 changes to 0 files (+1 heads) new changesets 2d8bcf2dda39 (run 'hg heads' to see heads, 'hg merge' to merge) $ hg manifest -v -r tip 755 * a Simulate a Windows merge: $ hg --config extensions.n=$TESTTMP/noexec.py merge --debug searching for copies back to rev 1 unmatched files in local: b resolving manifests branchmerge: True, force: False, partial: False ancestor: a03b0deabf2b, local: d6fa54f68ae1+, remote: 2d8bcf2dda39 a: update permissions -> e 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) Simulate a Windows commit: $ hg --config extensions.n=$TESTTMP/noexec.py commit -m 'win: merge' $ hg manifest -v 755 * a 644 b $ cd ..