This instance will be upgraded to Heptapod 0.21.0rc3 on 2021-04-23 at 10:30 UTC+2 (a few minutes of down time)

Commit 9dd989a5 authored by mpm@selenic.com's avatar mpm@selenic.com

commands: report http exceptions nicely

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

commands: report http exceptions nicely

manifest hash: 37760b304eedffcea9c1c01d03334cf4f6048fd3
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCsx6QywK+sNU5EO8RAnyEAKC3RBzwlVAyI+SSYHj1Z+Psn1Aq3gCcDQJf
pqPitXBuvdZbLdK0ti2kFOk=
=ZjC9
-----END PGP SIGNATURE-----
parent e6db25785b00
......@@ -752,7 +752,11 @@ def dispatch(args):
except KeyboardInterrupt:
u.warn("interrupted!\n")
except IOError, inst:
if inst.errno == errno.EPIPE:
if hasattr(inst, "code"):
u.warn("abort: %s\n" % inst)
elif hasattr(inst, "reason"):
u.warn("abort: error %d: %s\n" % (inst.reason[0], inst.reason[1]))
elif hasattr(inst, "args") and inst[0] == errno.EPIPE:
u.warn("broken pipe\n")
else:
raise
......
#!/bin/bash
mkdir copy
cd copy
hg init http://localhost:20059/
hg verify
hg co
cat foo
hg manifest
cat > dumb.py <<EOF
import BaseHTTPServer, SimpleHTTPServer, signal
def run(server_class=BaseHTTPServer.HTTPServer,
handler_class=SimpleHTTPServer.SimpleHTTPRequestHandler):
server_address = ('localhost', 20059)
httpd = server_class(server_address, handler_class)
httpd.serve_forever()
signal.signal(signal.SIGTERM, lambda x: sys.exit(0))
run()
EOF
python dumb.py 2>/dev/null &
mkdir copy2
cd copy2
hg init http://localhost:20059/foo
hg verify
hg co
cat foo
hg manifest
kill %1
requesting all changes
adding changesets
abort: error 111: Connection refused
transaction abort!
rollback completed
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
0 files, 0 changesets, 0 total revisions
cat: foo: No such file or directory
requesting all changes
adding changesets
abort: HTTP Error 404: File not found
transaction abort!
rollback completed
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
0 files, 0 changesets, 0 total revisions
cat: foo: No such file or directory
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment