D3193: scmutil: handle full hex nodeids in revsymbol()

martinvonz (Martin von Zweigbergk) phabricator at mercurial-scm.org
Wed Apr 11 08:32:12 EDT 2018


This revision was automatically updated to reflect the committed changes.
Closed by commit rHGd2b484eed1ec: scmutil: handle full hex nodeids in revsymbol() (authored by martinvonz, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D3193?vs=7885&id=7974

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

AFFECTED FILES
  mercurial/scmutil.py

CHANGE DETAILS

diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py
--- a/mercurial/scmutil.py
+++ b/mercurial/scmutil.py
@@ -18,6 +18,7 @@
 
 from .i18n import _
 from .node import (
+    bin,
     hex,
     nullid,
     short,
@@ -479,8 +480,20 @@
         except (ValueError, OverflowError, IndexError):
             pass
 
+        if len(symbol) == 40:
+            try:
+                node = bin(symbol)
+                rev = repo.changelog.rev(node)
+                return repo[rev]
+            except error.FilteredLookupError:
+                raise
+            except (TypeError, LookupError):
+                pass
+
         return repo[symbol]
 
+    except error.WdirUnsupported:
+        return repo[None]
     except (error.FilteredIndexError, error.FilteredLookupError,
             error.FilteredRepoLookupError):
         raise _filterederror(repo, symbol)



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


More information about the Mercurial-devel mailing list