changeset 29852:d5883fd055c6

extensions: change magic "shipped with hg" string I've caught multiple extensions in the wild lying about being 'internal', so it's time to move the goalposts on people. Goalpost moving will continue until third party extensions stop trying to defeat the system.
author Augie Fackler <augie@google.com>
date Tue, 23 Aug 2016 11:26:08 -0400
parents 4435d4c951ec
children d5497eb1d768
files contrib/synthrepo.py hgext/acl.py hgext/blackbox.py hgext/bugzilla.py hgext/censor.py hgext/chgserver.py hgext/children.py hgext/churn.py hgext/clonebundles.py hgext/color.py hgext/convert/__init__.py hgext/eol.py hgext/extdiff.py hgext/fetch.py hgext/fsmonitor/__init__.py hgext/gpg.py hgext/graphlog.py hgext/hgk.py hgext/highlight/__init__.py hgext/histedit.py hgext/journal.py hgext/keyword.py hgext/largefiles/__init__.py hgext/logtoprocess.py hgext/mq.py hgext/notify.py hgext/pager.py hgext/patchbomb.py hgext/purge.py hgext/rebase.py hgext/record.py hgext/relink.py hgext/schemes.py hgext/share.py hgext/shelve.py hgext/strip.py hgext/transplant.py hgext/win32mbcs.py hgext/win32text.py hgext/zeroconf/__init__.py mercurial/commands.py mercurial/dispatch.py mercurial/extensions.py
diffstat 43 files changed, 89 insertions(+), 84 deletions(-) [+]
line wrap: on
line diff
--- a/contrib/synthrepo.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/contrib/synthrepo.py	Tue Aug 23 11:26:08 2016 -0400
@@ -62,11 +62,11 @@
     util,
 )
 
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
--- a/hgext/acl.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/acl.py	Tue Aug 23 11:26:08 2016 -0400
@@ -204,11 +204,11 @@
 
 urlreq = util.urlreq
 
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 def _getusers(ui, group):
 
--- a/hgext/blackbox.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/blackbox.py	Tue Aug 23 11:26:08 2016 -0400
@@ -51,11 +51,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 lastui = None
 
 filehandles = {}
--- a/hgext/bugzilla.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/bugzilla.py	Tue Aug 23 11:26:08 2016 -0400
@@ -294,11 +294,11 @@
 urlparse = util.urlparse
 xmlrpclib = util.xmlrpclib
 
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 class bzaccess(object):
     '''Base class for access to Bugzilla.'''
--- a/hgext/censor.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/censor.py	Tue Aug 23 11:26:08 2016 -0400
@@ -42,11 +42,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 @command('censor',
     [('r', 'rev', '', _('censor file from specified revision'), _('REV')),
--- a/hgext/chgserver.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/chgserver.py	Tue Aug 23 11:26:08 2016 -0400
@@ -63,11 +63,11 @@
     util,
 )
 
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 _log = commandserver.log
 
--- a/hgext/children.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/children.py	Tue Aug 23 11:26:08 2016 -0400
@@ -26,11 +26,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 @command('children',
     [('r', 'rev', '',
--- a/hgext/churn.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/churn.py	Tue Aug 23 11:26:08 2016 -0400
@@ -26,11 +26,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 def maketemplater(ui, repo, tmpl):
     return cmdutil.changeset_templater(ui, repo, False, None, tmpl, None, False)
--- a/hgext/clonebundles.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/clonebundles.py	Tue Aug 23 11:26:08 2016 -0400
@@ -169,7 +169,7 @@
     wireproto,
 )
 
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 def capabilities(orig, repo, proto):
     caps = orig(repo, proto)
--- a/hgext/color.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/color.py	Tue Aug 23 11:26:08 2016 -0400
@@ -170,11 +170,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 # start and stop parameters for effects
 _effects = {'none': 0, 'black': 30, 'red': 31, 'green': 32, 'yellow': 33,
--- a/hgext/convert/__init__.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/convert/__init__.py	Tue Aug 23 11:26:08 2016 -0400
@@ -23,11 +23,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 # Commands definition was moved elsewhere to ease demandload job.
 
--- a/hgext/eol.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/eol.py	Tue Aug 23 11:26:08 2016 -0400
@@ -104,11 +104,11 @@
     util,
 )
 
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 # Matches a lone LF, i.e., one that is not part of CRLF.
 singlelf = re.compile('(^|[^\r])\n')
--- a/hgext/extdiff.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/extdiff.py	Tue Aug 23 11:26:08 2016 -0400
@@ -84,11 +84,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 def snapshot(ui, repo, files, node, tmproot, listsubrepos):
     '''snapshot files as of some revision
--- a/hgext/fetch.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/fetch.py	Tue Aug 23 11:26:08 2016 -0400
@@ -26,11 +26,11 @@
 release = lock.release
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 @command('fetch',
     [('r', 'rev', [],
--- a/hgext/fsmonitor/__init__.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/fsmonitor/__init__.py	Tue Aug 23 11:26:08 2016 -0400
@@ -113,11 +113,11 @@
     watchmanclient,
 )
 
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 # This extension is incompatible with the following blacklisted extensions
 # and will disable itself when encountering one of these:
--- a/hgext/gpg.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/gpg.py	Tue Aug 23 11:26:08 2016 -0400
@@ -23,11 +23,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 class gpg(object):
     def __init__(self, path, key=None):
--- a/hgext/graphlog.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/graphlog.py	Tue Aug 23 11:26:08 2016 -0400
@@ -25,11 +25,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 @command('glog',
     [('f', 'follow', None,
--- a/hgext/hgk.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/hgk.py	Tue Aug 23 11:26:08 2016 -0400
@@ -54,11 +54,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 @command('debug-diff-tree',
     [('p', 'patch', None, _('generate patch')),
--- a/hgext/highlight/__init__.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/highlight/__init__.py	Tue Aug 23 11:26:08 2016 -0400
@@ -41,11 +41,11 @@
     fileset,
 )
 
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 def pygmentize(web, field, fctx, tmpl):
     style = web.config('web', 'pygments_style', 'colorful')
--- a/hgext/histedit.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/histedit.py	Tue Aug 23 11:26:08 2016 -0400
@@ -213,11 +213,11 @@
     def known(cls):
         return set([v for k, v in cls.__dict__.items() if k[0] != '_'])
 
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 actiontable = {}
 primaryactions = set()
--- a/hgext/journal.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/journal.py	Tue Aug 23 11:26:08 2016 -0400
@@ -39,11 +39,11 @@
 cmdtable = {}
 command = cmdutil.command(cmdtable)
 
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 # storage format version; increment when the format changes
 storageversion = 0
--- a/hgext/keyword.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/keyword.py	Tue Aug 23 11:26:08 2016 -0400
@@ -112,11 +112,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 # hg commands that do not act on keywords
 nokwcommands = ('add addremove annotate bundle export grep incoming init log'
--- a/hgext/largefiles/__init__.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/largefiles/__init__.py	Tue Aug 23 11:26:08 2016 -0400
@@ -119,11 +119,11 @@
     uisetup as uisetupmod,
 )
 
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 reposetup = reposetup.reposetup
 
--- a/hgext/logtoprocess.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/logtoprocess.py	Tue Aug 23 11:26:08 2016 -0400
@@ -40,11 +40,11 @@
 import subprocess
 import sys
 
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 def uisetup(ui):
     if platform.system() == 'Windows':
--- a/hgext/mq.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/mq.py	Tue Aug 23 11:26:08 2016 -0400
@@ -99,11 +99,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 # force load strip extension formerly included in mq and import some utility
 try:
--- a/hgext/notify.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/notify.py	Tue Aug 23 11:26:08 2016 -0400
@@ -148,11 +148,11 @@
     util,
 )
 
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 # template for single changeset can include email headers.
 single_template = '''
--- a/hgext/pager.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/pager.py	Tue Aug 23 11:26:08 2016 -0400
@@ -75,11 +75,11 @@
     util,
     )
 
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 def _runpager(ui, p):
     pager = subprocess.Popen(p, shell=True, bufsize=-1,
--- a/hgext/patchbomb.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/patchbomb.py	Tue Aug 23 11:26:08 2016 -0400
@@ -87,11 +87,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 def _addpullheader(seq, ctx):
     """Add a header pointing to a public URL where the changeset is available
--- a/hgext/purge.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/purge.py	Tue Aug 23 11:26:08 2016 -0400
@@ -38,11 +38,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 @command('purge|clean',
     [('a', 'abort-on-err', None, _('abort if an error occurs')),
--- a/hgext/rebase.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/rebase.py	Tue Aug 23 11:26:08 2016 -0400
@@ -66,11 +66,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 def _nothingtorebase():
     return 1
--- a/hgext/record.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/record.py	Tue Aug 23 11:26:08 2016 -0400
@@ -22,11 +22,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 
 @command("record",
--- a/hgext/relink.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/relink.py	Tue Aug 23 11:26:08 2016 -0400
@@ -21,11 +21,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 @command('relink', [], _('[ORIGIN]'))
 def relink(ui, repo, origin=None, **opts):
--- a/hgext/schemes.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/schemes.py	Tue Aug 23 11:26:08 2016 -0400
@@ -56,11 +56,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 
 class ShortRepository(object):
--- a/hgext/share.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/share.py	Tue Aug 23 11:26:08 2016 -0400
@@ -56,11 +56,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 @command('share',
     [('U', 'noupdate', None, _('do not create a working directory')),
--- a/hgext/shelve.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/shelve.py	Tue Aug 23 11:26:08 2016 -0400
@@ -54,11 +54,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 backupdir = 'shelve-backup'
 shelvedir = 'shelved'
--- a/hgext/strip.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/strip.py	Tue Aug 23 11:26:08 2016 -0400
@@ -23,11 +23,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 def checksubstate(repo, baserev=None):
     '''return list of subrepos at a different revision than substate.
--- a/hgext/transplant.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/transplant.py	Tue Aug 23 11:26:08 2016 -0400
@@ -40,11 +40,11 @@
 
 cmdtable = {}
 command = cmdutil.command(cmdtable)
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 class transplantentry(object):
     def __init__(self, lnode, rnode):
--- a/hgext/win32mbcs.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/win32mbcs.py	Tue Aug 23 11:26:08 2016 -0400
@@ -55,11 +55,11 @@
     error,
 )
 
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 _encoding = None                                # see extsetup
 
--- a/hgext/win32text.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/win32text.py	Tue Aug 23 11:26:08 2016 -0400
@@ -52,11 +52,11 @@
     util,
 )
 
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 # regexp for single LF without CR preceding.
 re_single_lf = re.compile('(^|[^\r])\n', re.MULTILINE)
--- a/hgext/zeroconf/__init__.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/hgext/zeroconf/__init__.py	Tue Aug 23 11:26:08 2016 -0400
@@ -40,11 +40,11 @@
     server as servermod
 )
 
-# Note for extension authors: ONLY specify testedwith = 'internal' for
+# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
 # be specifying the version(s) of Mercurial they are tested with, or
 # leave the attribute unspecified.
-testedwith = 'internal'
+testedwith = 'ships-with-hg-core'
 
 # publish
 
--- a/mercurial/commands.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/mercurial/commands.py	Tue Aug 23 11:26:08 2016 -0400
@@ -2396,6 +2396,10 @@
     for extname, extmod in sorted(exts, key=operator.itemgetter(0)):
         extsource = extmod.__file__
         exttestedwith = getattr(extmod, 'testedwith', '').split()
+        if exttestedwith == ['ships-with-hg-core']:
+            showtestedwith = ['internal']
+        else:
+            showtestedwith = exttestedwith
         extbuglink = getattr(extmod, 'buglink', None)
 
         fm.startitem()
@@ -2406,7 +2410,8 @@
             fm.write('name', '%s', extname)
             if not exttestedwith:
                 fm.plain(_(' (untested!)\n'))
-            elif exttestedwith == ['internal'] or hgver in exttestedwith:
+            elif (exttestedwith == ['ships-with-hg-core']
+                  or hgver in exttestedwith):
                 fm.plain('\n')
             else:
                 lasttestedversion = exttestedwith[-1]
@@ -2415,9 +2420,9 @@
         fm.condwrite(ui.verbose and extsource, 'source',
                  _('  location: %s\n'), extsource or "")
 
-        fm.condwrite(ui.verbose and exttestedwith, 'testedwith',
+        fm.condwrite(ui.verbose and showtestedwith, 'testedwith',
                      _('  tested with: %s\n'),
-                     fm.formatlist(exttestedwith, name='ver'))
+                     fm.formatlist(showtestedwith, name='ver'))
 
         fm.condwrite(ui.verbose and extbuglink, 'buglink',
                  _('  bug reporting: %s\n'), extbuglink or "")
--- a/mercurial/dispatch.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/mercurial/dispatch.py	Tue Aug 23 11:26:08 2016 -0400
@@ -927,7 +927,7 @@
                 break
 
             # Never blame on extensions bundled with Mercurial.
-            if testedwith == 'internal':
+            if testedwith == 'ships-with-hg-core':
                 continue
 
             tested = [util.versiontuple(t, 2) for t in testedwith.split()]
--- a/mercurial/extensions.py	Thu Aug 25 01:00:26 2016 -0400
+++ b/mercurial/extensions.py	Tue Aug 23 11:26:08 2016 -0400
@@ -532,4 +532,4 @@
 
 def ismoduleinternal(module):
     exttestedwith = getattr(module, 'testedwith', None)
-    return exttestedwith == "internal"
+    return exttestedwith == "ships-with-hg-core"