[PATCH 6 of 6] fastannotate: pconvert paths from the server for Windows

Matt Harbison mharbison72 at gmail.com
Tue Aug 21 22:55:27 EDT 2018


# HG changeset patch
# User Matt Harbison <matt_harbison at yahoo.com>
# 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 + '/'):


More information about the Mercurial-devel mailing list