D3197: context: add deprecation warnings for deprecated types of changeids

2018-04-11 Thread martinvonz (Martin von Zweigbergk)
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG8475c9bf096d: context: add deprecation warnings for 
deprecated types of changeids (authored by martinvonz, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D3197?vs=7889=7978

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

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
@@ -377,6 +377,30 @@
 
 return r
 
+def changectxdeprecwarn(repo):
+# changectx's constructor will soon lose support for these forms of
+# changeids:
+#  * stringinfied ints
+#  * bookmarks, tags, branches, and other namespace identifiers
+#  * hex nodeid prefixes
+#
+# Depending on your use case, replace repo[x] by one of these:
+#  * If you want to support general revsets, use scmutil.revsingle(x)
+#  * If you know that "x" is a stringified int, use repo[int(x)]
+#  * If you know that "x" is a bookmark, use repo._bookmarks.changectx(x)
+#  * If you know that "x" is a tag, use repo[repo.tags()[x]]
+#  * If you know that "x" is a branch or in some other namespace,
+#use the appropriate mechanism for that namespace
+#  * If you know that "x" is a hex nodeid prefix, use
+#repo[scmutil.resolvepartialhexnodeid(repo, x)]
+#  * If "x" is a string that can be any of the above, but you don't want
+#to allow general revsets (perhaps because "x" may come from a remote
+#user and the revset may be too costly), use scmutil.revsymbol(repo, x)
+#  * If "x" can be a mix of the above, you'll have to figure it out
+#yourself
+repo.ui.deprecwarn("changectx.__init__ is getting more limited, see source 
"
+   "for details", "4.6")
+
 class changectx(basectx):
 """A changecontext object makes access to data related to a particular
 changeset convenient. It represents a read-only context already present in
@@ -426,6 +450,7 @@
 raise ValueError
 self._rev = r
 self._node = repo.changelog.node(r)
+changectxdeprecwarn(repo)
 return
 except error.FilteredIndexError:
 raise
@@ -446,13 +471,15 @@
 try:
 self._node = repo.names.singlenode(repo, changeid)
 self._rev = repo.changelog.rev(self._node)
+changectxdeprecwarn(repo)
 return
 except KeyError:
 pass
 
 self._node = scmutil.resolvepartialhexnodeid(repo, changeid)
 if self._node is not None:
 self._rev = repo.changelog.rev(self._node)
+changectxdeprecwarn(repo)
 return
 
 # lookup failed



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


D3197: context: add deprecation warnings for deprecated types of changeids

2018-04-08 Thread martinvonz (Martin von Zweigbergk)
martinvonz added a comment.


  I finally got this done enough to send. I'll be away for five days now, but 
hopefully this is close enough that I can do any polish after I get back but 
still before the freeze.

REPOSITORY
  rHG Mercurial

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

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