D3144: context: make repo[] match node

2018-04-06 Thread martinvonz (Martin von Zweigbergk)
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG167b22a906f3: context: make repo[] match node (authored by martinvonz, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D3144?vs=7755&id=7776

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

AFFECTED FILES
  mercurial/context.py

CHANGE DETAILS

diff --git a/mercurial/context.py b/mercurial/context.py
--- a/mercurial/context.py
+++ b/mercurial/context.py
@@ -410,7 +410,7 @@
 self._node = changeid
 self._rev = repo.changelog.rev(changeid)
 return
-except error.FilteredRepoLookupError:
+except error.FilteredLookupError:
 raise
 except LookupError:
 pass



To: martinvonz, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D3144: context: make repo[] match node

2018-04-05 Thread martinvonz (Martin von Zweigbergk)
martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  If you pass in a binary nodeid of a filtered node to repo.__getitem__,
  it would run through this code:
  
try:
self._node = changeid
  
  self._rev = repo.changelog.rev(changeid)
  return
  
except error.FilteredLookupError:
raise
except LookupError:
 pass
  
  However, repo.changelog.rev() would raise a FilteredLookupError, not
  FilteredRepoLookupError. Instead, we would hit the "except
  LookupError" and continue, trying to interpret the nodeid as a
  bookmark etc. The end result would be an error like this:
  
abort: unknown revision 'ddadbd7c40ef8b8ad6d0d01a7a842092fc431798'!
  
  After this patch, it would instead be:
  
abort: 00changelog.i@ddadbd7c40ef8b8ad6d0d01a7a842092fc431798: filtered 
node!
  
  This only happens when we get a binary nodeid, which means it's not
  string directly from the user, so it would be a programming error if
  it happened. It's therefore a little hard to test (I checked
  test-context.py, but it doesn't use obsmarkers).
  
  It looks like this has been wrong ever since 
https://phab.mercurial-scm.org/rHGdc25ed84bee89700a584c828233be17560075082 
(changectx:
  issue a FilteredRepoLookupError when applicable, 2014-10-15).

REPOSITORY
  rHG Mercurial

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

AFFECTED FILES
  mercurial/context.py

CHANGE DETAILS

diff --git a/mercurial/context.py b/mercurial/context.py
--- a/mercurial/context.py
+++ b/mercurial/context.py
@@ -410,7 +410,7 @@
 self._node = changeid
 self._rev = repo.changelog.rev(changeid)
 return
-except error.FilteredRepoLookupError:
+except error.FilteredLookupError:
 raise
 except LookupError:
 pass



To: martinvonz, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel