D4690: streamclone: reimplement nested context manager
durin42 (Augie Fackler)
phabricator at mercurial-scm.org
Fri Sep 21 15:44:24 UTC 2018
durin42 created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
It's gone in Python 3, and you can't *ctxs into a with statement. Sigh.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D4690
AFFECTED FILES
mercurial/streamclone.py
CHANGE DETAILS
diff --git a/mercurial/streamclone.py b/mercurial/streamclone.py
--- a/mercurial/streamclone.py
+++ b/mercurial/streamclone.py
@@ -568,12 +568,13 @@
@contextlib.contextmanager
def nested(*ctxs):
- with warnings.catch_warnings():
- # For some reason, Python decided 'nested' was deprecated without
- # replacement. They officially advertised for filtering the deprecation
- # warning for people who actually need the feature.
- warnings.filterwarnings("ignore",category=DeprecationWarning)
- with contextlib.nested(*ctxs):
+ this = ctxs[0]
+ rest = ctxs[1:]
+ with this:
+ if rest:
+ with nested(*rest):
+ yield
+ else:
yield
def consumev2(repo, fp, filecount, filesize):
To: durin42, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list