Patchwork D6215: localrepo: don't allow lookup of working directory revision

login
register
mail settings
Submitter phabricator
Date April 8, 2019, 6:51 p.m.
Message ID <3eaad79b3a351f0befa0579af94a98a9@localhost.localdomain>
Download mbox | patch
Permalink /patch/39542/
State Not Applicable
Headers show

Comments

phabricator - April 8, 2019, 6:51 p.m.
This revision was automatically updated to reflect the committed changes.
Closed by commit rHGfcd7a91dec23: localrepo: don&#039;t allow lookup of working directory revision (authored by martinvonz, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D6215?vs=14688&id=14696

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

AFFECTED FILES
  mercurial/localrepo.py
  tests/test-convert-hg-source.t
  tests/test-pull.t

CHANGE DETAILS




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

Patch

diff --git a/tests/test-pull.t b/tests/test-pull.t
--- a/tests/test-pull.t
+++ b/tests/test-pull.t
@@ -76,10 +76,9 @@ 
   [255]
 
 Test pull of working copy revision
-BROKEN: should give a better error message
   $ hg pull -r 'ffffffffffff'
   pulling from http://foo@localhost:$HGPORT/
-  abort: b2a_hex() argument 1 must be string or buffer, not None!
+  abort: unknown revision 'ffffffffffff'!
   [255]
 
 Issue622: hg init && hg pull -u URL doesn't checkout default branch
diff --git a/tests/test-convert-hg-source.t b/tests/test-convert-hg-source.t
--- a/tests/test-convert-hg-source.t
+++ b/tests/test-convert-hg-source.t
@@ -218,11 +218,10 @@ 
   $ hg ci -Aqm 'the working copy is called ffffffffffff'
 
   $ cd ..
-BROKEN: crashes when the "ffffffffffff" is encountered
   $ hg convert commit-references new-commit-references -q \
-  >     --config convert.hg.sourcename=yes 2>&1 | grep TypeError
-  TypeError: b2a_hex() argument 1 must be string or buffer, not None
+  >     --config convert.hg.sourcename=yes
   $ cd new-commit-references
   $ hg log -T '{node|short} {desc}\n'
+  fe295c9e6bc6 the working copy is called ffffffffffff
   642508659503 the previous commit was c2491f685436
   c2491f685436 initial
diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -1564,7 +1564,10 @@ 
                 pass
 
     def lookup(self, key):
-        return scmutil.revsymbol(self, key).node()
+        node = scmutil.revsymbol(self, key).node()
+        if node is None:
+            raise error.RepoLookupError(_("unknown revision '%s'") % key)
+        return node
 
     def lookupbranch(self, key):
         if self.branchmap().hasbranch(key):