Patchwork D6217: remotefilelog: correctly reject wdir filenodes

login
register
mail settings
Submitter phabricator
Date April 8, 2019, 10:09 p.m.
Message ID <d963cb24ab478d54b4d550744a7088e4@localhost.localdomain>
Download mbox | patch
Permalink /patch/39544/
State Not Applicable
Headers show

Comments

phabricator - April 8, 2019, 10:09 p.m.
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG864f9f63d3ed: remotefilelog: correctly reject wdir filenodes (authored by durin42, committed by ).

CHANGED PRIOR TO COMMIT
  https://phab.mercurial-scm.org/D6217?vs=14690&id=14700#toc

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D6217?vs=14690&id=14700

REVISION DETAIL
  https://phab.mercurial-scm.org/D6217

AFFECTED FILES
  hgext/remotefilelog/remotefilelog.py
  tests/test-remotefilelog-blame.t

CHANGE DETAILS




To: durin42, #hg-reviewers
Cc: martinvonz, mercurial-devel

Patch

diff --git a/tests/test-remotefilelog-blame.t b/tests/test-remotefilelog-blame.t
--- a/tests/test-remotefilelog-blame.t
+++ b/tests/test-remotefilelog-blame.t
@@ -35,11 +35,6 @@ 
 
   $ hg grep --all-files x
   x:x
-BROKEN: modifications in the wdir tries to fetch from the server.
   $ echo foo >> x
   $ hg grep --all-files x
-  remote: abort: working directory revision cannot be specified
-  1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob)
-  abort: error downloading file contents:
-  'connection closed early'
-  [255]
+  x:x
diff --git a/hgext/remotefilelog/remotefilelog.py b/hgext/remotefilelog/remotefilelog.py
--- a/hgext/remotefilelog/remotefilelog.py
+++ b/hgext/remotefilelog/remotefilelog.py
@@ -10,7 +10,12 @@ 
 import collections
 import os
 
-from mercurial.node import bin, nullid
+from mercurial.node import (
+    bin,
+    nullid,
+    wdirfilenodeids,
+    wdirid,
+)
 from mercurial.i18n import _
 from mercurial import (
     ancestor,
@@ -306,6 +311,8 @@ 
         if len(node) != 20:
             raise error.LookupError(node, self.filename,
                                     _('invalid revision input'))
+        if node == wdirid or node in wdirfilenodeids:
+            raise error.WdirUnsupported
 
         store = self.repo.contentstore
         rawtext = store.get(self.filename, node)