From patchwork Wed Aug 22 02:55:27 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [6,of,6] fastannotate: pconvert paths from the server for Windows From: Matt Harbison X-Patchwork-Id: 33963 Message-Id: <66f810d860a7bc5d6f7a.1534906527@Envy> To: mercurial-devel@mercurial-scm.org Date: Tue, 21 Aug 2018 22:55:27 -0400 # HG changeset patch # User Matt Harbison # Date 1534906148 14400 # Tue Aug 21 22:49:08 2018 -0400 # Node ID 66f810d860a7bc5d6f7a0cc34a05f04538618ec4 # Parent 78044da31ab9bc0cbd0793bf9bc587271eb74bbf fastannotate: pconvert paths from the server for Windows I'm guessing that the right thing to do here is to convert the paths on the server, but I know this is a WIP, and I don't know where that needs to happen. I'm just trying to eliminate the malicious path warnings in the tests. diff --git a/hgext/fastannotate/protocol.py b/hgext/fastannotate/protocol.py --- a/hgext/fastannotate/protocol.py +++ b/hgext/fastannotate/protocol.py @@ -15,6 +15,7 @@ from mercurial import ( extensions, hg, localrepo, + util, wireprotov1peer, wireprotov1server, ) @@ -166,6 +167,8 @@ def clientfetch(repo, paths, lastnodemap ui.debug('fastannotate: server returned\n') for result in results: r = result.result() + # TODO: pconvert these paths on the server? + r = {util.pconvert(p): v for p, v in r.iteritems()} for path in sorted(r): # ignore malicious paths if not path.startswith('fastannotate/') or '/../' in (path + '/'):