extensions: document that `testedwith = 'internal'` is special
Extension authors (notably at companies using hg) have been
cargo-culting the `testedwith = 'internal'` bit from hg's own
extensions, which then defeats our "file bugs over here" logic in
dispatch. Let's be more aggressive about trying to give extension
authors a hint about what testedwith should say.
--- a/contrib/synthrepo.py Fri Apr 10 23:12:33 2015 -0700
+++ b/contrib/synthrepo.py Tue Apr 28 16:44:37 2015 -0400
@@ -41,6 +41,10 @@
from mercurial.i18n import _
from mercurial.node import nullrev, nullid, short
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
cmdtable = {}
--- a/hgext/acl.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/acl.py Tue Apr 28 16:44:37 2015 -0400
@@ -195,6 +195,10 @@
from mercurial import util, match
import getpass, urllib
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
def _getusers(ui, group):
--- a/hgext/blackbox.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/blackbox.py Tue Apr 28 16:44:37 2015 -0400
@@ -35,6 +35,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
lastblackbox = None
--- a/hgext/bugzilla.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/bugzilla.py Tue Apr 28 16:44:37 2015 -0400
@@ -282,6 +282,10 @@
from mercurial import cmdutil, mail, util
import re, time, urlparse, xmlrpclib
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
class bzaccess(object):
--- a/hgext/censor.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/censor.py Tue Apr 28 16:44:37 2015 -0400
@@ -31,6 +31,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
@command('censor',
--- a/hgext/children.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/children.py Tue Apr 28 16:44:37 2015 -0400
@@ -20,6 +20,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
@command('children',
--- a/hgext/churn.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/churn.py Tue Apr 28 16:44:37 2015 -0400
@@ -16,6 +16,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
def maketemplater(ui, repo, tmpl):
--- a/hgext/color.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/color.py Tue Apr 28 16:44:37 2015 -0400
@@ -162,6 +162,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
# start and stop parameters for effects
--- a/hgext/convert/__init__.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/convert/__init__.py Tue Apr 28 16:44:37 2015 -0400
@@ -15,6 +15,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
# Commands definition was moved elsewhere to ease demandload job.
--- a/hgext/eol.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/eol.py Tue Apr 28 16:44:37 2015 -0400
@@ -95,6 +95,10 @@
from mercurial import util, config, extensions, match, error
import re, os
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
# Matches a lone LF, i.e., one that is not part of CRLF.
--- a/hgext/extdiff.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/extdiff.py Tue Apr 28 16:44:37 2015 -0400
@@ -67,6 +67,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
def snapshot(ui, repo, files, node, tmproot):
--- a/hgext/fetch.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/fetch.py Tue Apr 28 16:44:37 2015 -0400
@@ -15,6 +15,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
@command('fetch',
--- a/hgext/gpg.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/gpg.py Tue Apr 28 16:44:37 2015 -0400
@@ -12,6 +12,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
class gpg(object):
--- a/hgext/graphlog.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/graphlog.py Tue Apr 28 16:44:37 2015 -0400
@@ -20,6 +20,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
@command('glog',
--- a/hgext/hgcia.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/hgcia.py Tue Apr 28 16:44:37 2015 -0400
@@ -48,6 +48,10 @@
import socket, xmlrpclib
from xml.sax import saxutils
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
socket_timeout = 30 # seconds
--- a/hgext/hgk.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/hgk.py Tue Apr 28 16:44:37 2015 -0400
@@ -41,6 +41,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
@command('debug-diff-tree',
--- a/hgext/highlight/__init__.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/highlight/__init__.py Tue Apr 28 16:44:37 2015 -0400
@@ -24,6 +24,10 @@
import highlight
from mercurial.hgweb import webcommands, webutil, common
from mercurial import extensions, encoding
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
def filerevision_highlight(orig, web, tmpl, fctx):
--- a/hgext/histedit.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/histedit.py Tue Apr 28 16:44:37 2015 -0400
@@ -181,6 +181,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
# i18n: command names and abbreviations must remain untranslated
--- a/hgext/keyword.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/keyword.py Tue Apr 28 16:44:37 2015 -0400
@@ -91,6 +91,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
# hg commands that do not act on keywords
--- a/hgext/largefiles/__init__.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/largefiles/__init__.py Tue Apr 28 16:44:37 2015 -0400
@@ -112,6 +112,10 @@
import reposetup
import uisetup as uisetupmod
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
reposetup = reposetup.reposetup
--- a/hgext/mq.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/mq.py Tue Apr 28 16:44:37 2015 -0400
@@ -76,6 +76,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
# force load strip extension formerly included in mq and import some utility
--- a/hgext/notify.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/notify.py Tue Apr 28 16:44:37 2015 -0400
@@ -141,6 +141,10 @@
from mercurial import patch, cmdutil, util, mail
import fnmatch
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
# template for single changeset can include email headers.
--- a/hgext/pager.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/pager.py Tue Apr 28 16:44:37 2015 -0400
@@ -59,6 +59,10 @@
from mercurial import commands, dispatch, util, extensions, cmdutil
from mercurial.i18n import _
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
def _pagerfork(ui, p):
--- a/hgext/patchbomb.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/patchbomb.py Tue Apr 28 16:44:37 2015 -0400
@@ -71,6 +71,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
def prompt(ui, prompt, default=None, rest=':'):
--- a/hgext/progress.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/progress.py Tue Apr 28 16:44:37 2015 -0400
@@ -40,6 +40,10 @@
import threading
from mercurial.i18n import _
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
from mercurial import encoding
--- a/hgext/purge.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/purge.py Tue Apr 28 16:44:37 2015 -0400
@@ -30,6 +30,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
@command('purge|clean',
--- a/hgext/rebase.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/rebase.py Tue Apr 28 16:44:37 2015 -0400
@@ -29,6 +29,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
def _savegraft(ctx, extra):
--- a/hgext/record.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/record.py Tue Apr 28 16:44:37 2015 -0400
@@ -13,6 +13,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
--- a/hgext/relink.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/relink.py Tue Apr 28 16:44:37 2015 -0400
@@ -13,6 +13,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
@command('relink', [], _('[ORIGIN]'))
--- a/hgext/schemes.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/schemes.py Tue Apr 28 16:44:37 2015 -0400
@@ -44,6 +44,10 @@
from mercurial import extensions, hg, templater, util
from mercurial.i18n import _
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
--- a/hgext/share.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/share.py Tue Apr 28 16:44:37 2015 -0400
@@ -12,6 +12,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
@command('share',
--- a/hgext/shelve.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/shelve.py Tue Apr 28 16:44:37 2015 -0400
@@ -33,6 +33,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
class shelvedfile(object):
--- a/hgext/strip.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/strip.py Tue Apr 28 16:44:37 2015 -0400
@@ -11,6 +11,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
def checksubstate(repo, baserev=None):
--- a/hgext/transplant.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/transplant.py Tue Apr 28 16:44:37 2015 -0400
@@ -26,6 +26,10 @@
cmdtable = {}
command = cmdutil.command(cmdtable)
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
class transplantentry(object):
--- a/hgext/win32mbcs.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/win32mbcs.py Tue Apr 28 16:44:37 2015 -0400
@@ -48,6 +48,10 @@
import os, sys
from mercurial.i18n import _
from mercurial import util, encoding
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
_encoding = None # see extsetup
--- a/hgext/win32text.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/win32text.py Tue Apr 28 16:44:37 2015 -0400
@@ -46,6 +46,10 @@
from mercurial import util
import re
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
# regexp for single LF without CR preceding.
--- a/hgext/zeroconf/__init__.py Fri Apr 10 23:12:33 2015 -0700
+++ b/hgext/zeroconf/__init__.py Tue Apr 28 16:44:37 2015 -0400
@@ -31,6 +31,10 @@
from mercurial import extensions
from mercurial.hgweb import server as servermod
+# Note for extension authors: ONLY specify testedwith = 'internal' 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'
# publish