tests/test-extension.t
author Pierre-Yves David <pierre-yves.david@fb.com>
Fri, 11 Sep 2015 12:45:19 -0700
changeset 26263 bf2bfc6f45fb
parent 26228 0fd20a71abdb
child 26351 8c7d8d5e1e0f
permissions -rw-r--r--
traceback: allow providing a local support contact point The extensions blaming code is fine for casual users but pretty terrible for corporate environments that can deploy a large amount of extensions to unsuspecting users. Reports will likely blame a random "innocent" extension (in our case crecord) and the hint in the message will triggers endless debug attempts from the user. We introduce a "ui.supportcontact" option that allow such big company to redirect their users to their own support desk. This disables all extensions blaming and just point people to the local support in all cases.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
     1
Test basic extension support
4064
5d9ede002453 install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     2
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
     3
  $ cat > foobar.py <<EOF
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
     4
  > import os
21254
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 20003
diff changeset
     5
  > from mercurial import cmdutil, commands
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 20003
diff changeset
     6
  > cmdtable = {}
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 20003
diff changeset
     7
  > command = cmdutil.command(cmdtable)
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
     8
  > def uisetup(ui):
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
     9
  >     ui.write("uisetup called\\n")
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    10
  > def reposetup(ui, repo):
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    11
  >     ui.write("reposetup called for %s\\n" % os.path.basename(repo.root))
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    12
  >     ui.write("ui %s= repo.ui\\n" % (ui == repo.ui and "=" or "!"))
21254
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 20003
diff changeset
    13
  > @command('foo', [], 'hg foo')
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    14
  > def foo(ui, *args, **kwargs):
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    15
  >     ui.write("Foo\\n")
21773
26d2fb899637 tests: define norepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21289
diff changeset
    16
  > @command('bar', [], 'hg bar', norepo=True)
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    17
  > def bar(ui, *args, **kwargs):
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    18
  >     ui.write("Bar\\n")
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    19
  > EOF
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    20
  $ abspath=`pwd`/foobar.py
4064
5d9ede002453 install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    21
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    22
  $ mkdir barfoo
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    23
  $ cp foobar.py barfoo/__init__.py
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    24
  $ barfoopath=`pwd`/barfoo
4064
5d9ede002453 install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    25
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    26
  $ hg init a
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    27
  $ cd a
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    28
  $ echo foo > file
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    29
  $ hg add file
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    30
  $ hg commit -m 'add file'
4064
5d9ede002453 install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    31
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    32
  $ echo '[extensions]' >> $HGRCPATH
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    33
  $ echo "foobar = $abspath" >> $HGRCPATH
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    34
  $ hg foo
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    35
  uisetup called
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    36
  reposetup called for a
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    37
  ui == repo.ui
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    38
  Foo
4064
5d9ede002453 install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    39
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    40
  $ cd ..
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    41
  $ hg clone a b
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    42
  uisetup called
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    43
  reposetup called for a
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    44
  ui == repo.ui
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    45
  reposetup called for b
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    46
  ui == repo.ui
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    47
  updating to branch default
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    48
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4569
622d8ed78b47 extensions: load modules in module/__init__.py form.
Brendan Cully <brendan@kublai.com>
parents: 4074
diff changeset
    49
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    50
  $ hg bar
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    51
  uisetup called
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    52
  Bar
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    53
  $ echo 'foobar = !' >> $HGRCPATH
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    54
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    55
module/__init__.py-style
4064
5d9ede002453 install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    56
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    57
  $ echo "barfoo = $barfoopath" >> $HGRCPATH
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    58
  $ cd a
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    59
  $ hg foo
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    60
  uisetup called
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    61
  reposetup called for a
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    62
  ui == repo.ui
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    63
  Foo
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    64
  $ echo 'barfoo = !' >> $HGRCPATH
4064
5d9ede002453 install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    65
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    66
Check that extensions are loaded in phases:
4064
5d9ede002453 install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    67
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    68
  $ cat > foo.py <<EOF
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    69
  > import os
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    70
  > name = os.path.basename(__file__).rsplit('.', 1)[0]
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    71
  > print "1) %s imported" % name
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    72
  > def uisetup(ui):
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    73
  >     print "2) %s uisetup" % name
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    74
  > def extsetup():
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    75
  >     print "3) %s extsetup" % name
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    76
  > def reposetup(ui, repo):
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    77
  >    print "4) %s reposetup" % name
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    78
  > EOF
4569
622d8ed78b47 extensions: load modules in module/__init__.py form.
Brendan Cully <brendan@kublai.com>
parents: 4074
diff changeset
    79
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    80
  $ cp foo.py bar.py
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    81
  $ echo 'foo = foo.py' >> $HGRCPATH
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    82
  $ echo 'bar = bar.py' >> $HGRCPATH
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    83
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    84
Command with no output, we just want to see the extensions loaded:
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    85
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    86
  $ hg paths
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    87
  1) foo imported
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    88
  1) bar imported
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    89
  2) foo uisetup
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    90
  2) bar uisetup
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    91
  3) foo extsetup
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    92
  3) bar extsetup
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    93
  4) foo reposetup
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    94
  4) bar reposetup
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    95
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    96
Check hgweb's load order:
4738
c41a404ac387 Handle extensions with defined but empty cmdtable
Brendan Cully <brendan@kublai.com>
parents: 4569
diff changeset
    97
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    98
  $ cat > hgweb.cgi <<EOF
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
    99
  > #!/usr/bin/env python
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   100
  > from mercurial import demandimport; demandimport.enable()
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   101
  > from mercurial.hgweb import hgweb
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   102
  > from mercurial.hgweb import wsgicgi
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   103
  > application = hgweb('.', 'test repo')
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   104
  > wsgicgi.launch(application)
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   105
  > EOF
9410
1c83938b6a8e extensions: load and configure extensions in well-defined phases
Martin Geisler <mg@lazybytes.net>
parents: 9128
diff changeset
   106
18646
c6a81e54c209 hgweb: make the test suite use hgweb in a more WSGI compliant way
Mads Kiilerich <mads@kiilerich.com>
parents: 18267
diff changeset
   107
  $ REQUEST_METHOD='GET' PATH_INFO='/' SCRIPT_NAME='' QUERY_STRING='' \
c6a81e54c209 hgweb: make the test suite use hgweb in a more WSGI compliant way
Mads Kiilerich <mads@kiilerich.com>
parents: 18267
diff changeset
   108
  >    SERVER_PORT='80' SERVER_NAME='localhost' python hgweb.cgi \
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   109
  >    | grep '^[0-9]) ' # ignores HTML output
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   110
  1) foo imported
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   111
  1) bar imported
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   112
  2) foo uisetup
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   113
  2) bar uisetup
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   114
  3) foo extsetup
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   115
  3) bar extsetup
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   116
  4) foo reposetup
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   117
  4) bar reposetup
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   118
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   119
  $ echo 'foo = !' >> $HGRCPATH
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   120
  $ echo 'bar = !' >> $HGRCPATH
9410
1c83938b6a8e extensions: load and configure extensions in well-defined phases
Martin Geisler <mg@lazybytes.net>
parents: 9128
diff changeset
   121
19932
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   122
Check "from __future__ import absolute_import" support for external libraries
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   123
20001
a1f99a7f2d72 tests: choose the path separator in PYTHONPATH suitable for platform
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19933
diff changeset
   124
#if windows
a1f99a7f2d72 tests: choose the path separator in PYTHONPATH suitable for platform
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19933
diff changeset
   125
  $ PATHSEP=";"
a1f99a7f2d72 tests: choose the path separator in PYTHONPATH suitable for platform
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19933
diff changeset
   126
#else
a1f99a7f2d72 tests: choose the path separator in PYTHONPATH suitable for platform
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19933
diff changeset
   127
  $ PATHSEP=":"
a1f99a7f2d72 tests: choose the path separator in PYTHONPATH suitable for platform
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19933
diff changeset
   128
#endif
a1f99a7f2d72 tests: choose the path separator in PYTHONPATH suitable for platform
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19933
diff changeset
   129
  $ export PATHSEP
a1f99a7f2d72 tests: choose the path separator in PYTHONPATH suitable for platform
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19933
diff changeset
   130
19932
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   131
  $ mkdir $TESTTMP/libroot
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   132
  $ echo "s = 'libroot/ambig.py'" > $TESTTMP/libroot/ambig.py
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   133
  $ mkdir $TESTTMP/libroot/mod
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   134
  $ touch $TESTTMP/libroot/mod/__init__.py
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   135
  $ echo "s = 'libroot/mod/ambig.py'" > $TESTTMP/libroot/mod/ambig.py
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   136
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   137
#if absimport
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   138
  $ cat > $TESTTMP/libroot/mod/ambigabs.py <<EOF
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   139
  > from __future__ import absolute_import
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   140
  > import ambig # should load "libroot/ambig.py"
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   141
  > s = ambig.s
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   142
  > EOF
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   143
  $ cat > loadabs.py <<EOF
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   144
  > import mod.ambigabs as ambigabs
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   145
  > def extsetup():
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   146
  >     print 'ambigabs.s=%s' % ambigabs.s
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   147
  > EOF
20001
a1f99a7f2d72 tests: choose the path separator in PYTHONPATH suitable for platform
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19933
diff changeset
   148
  $ (PYTHONPATH=${PYTHONPATH}${PATHSEP}${TESTTMP}/libroot; hg --config extensions.loadabs=loadabs.py root)
19932
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   149
  ambigabs.s=libroot/ambig.py
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
   150
  $TESTTMP/a (glob)
19932
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   151
#endif
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   152
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   153
#if no-py3k
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   154
  $ cat > $TESTTMP/libroot/mod/ambigrel.py <<EOF
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   155
  > import ambig # should load "libroot/mod/ambig.py"
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   156
  > s = ambig.s
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   157
  > EOF
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   158
  $ cat > loadrel.py <<EOF
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   159
  > import mod.ambigrel as ambigrel
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   160
  > def extsetup():
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   161
  >     print 'ambigrel.s=%s' % ambigrel.s
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   162
  > EOF
20001
a1f99a7f2d72 tests: choose the path separator in PYTHONPATH suitable for platform
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19933
diff changeset
   163
  $ (PYTHONPATH=${PYTHONPATH}${PATHSEP}${TESTTMP}/libroot; hg --config extensions.loadrel=loadrel.py root)
19932
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   164
  ambigrel.s=libroot/mod/ambig.py
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
   165
  $TESTTMP/a (glob)
19932
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   166
#endif
e3a5922e18c3 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19822
diff changeset
   167
19933
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   168
Check absolute/relative import of extension specific modules
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   169
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   170
  $ mkdir $TESTTMP/extroot
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   171
  $ cat > $TESTTMP/extroot/bar.py <<EOF
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   172
  > s = 'this is extroot.bar'
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   173
  > EOF
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   174
  $ mkdir $TESTTMP/extroot/sub1
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   175
  $ cat > $TESTTMP/extroot/sub1/__init__.py <<EOF
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   176
  > s = 'this is extroot.sub1.__init__'
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   177
  > EOF
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   178
  $ cat > $TESTTMP/extroot/sub1/baz.py <<EOF
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   179
  > s = 'this is extroot.sub1.baz'
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   180
  > EOF
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   181
  $ cat > $TESTTMP/extroot/__init__.py <<EOF
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   182
  > s = 'this is extroot.__init__'
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   183
  > import foo
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   184
  > def extsetup(ui):
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   185
  >     ui.write('(extroot) ', foo.func(), '\n')
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   186
  > EOF
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   187
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   188
  $ cat > $TESTTMP/extroot/foo.py <<EOF
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   189
  > # test absolute import
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   190
  > buf = []
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   191
  > def func():
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   192
  >     # "not locals" case
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   193
  >     import extroot.bar
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   194
  >     buf.append('import extroot.bar in func(): %s' % extroot.bar.s)
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   195
  >     return '\n(extroot) '.join(buf)
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   196
  > # "fromlist == ('*',)" case
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   197
  > from extroot.bar import *
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   198
  > buf.append('from extroot.bar import *: %s' % s)
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   199
  > # "not fromlist" and "if '.' in name" case
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   200
  > import extroot.sub1.baz
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   201
  > buf.append('import extroot.sub1.baz: %s' % extroot.sub1.baz.s)
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   202
  > # "not fromlist" and NOT "if '.' in name" case
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   203
  > import extroot
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   204
  > buf.append('import extroot: %s' % extroot.s)
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   205
  > # NOT "not fromlist" and NOT "level != -1" case
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   206
  > from extroot.bar import s
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   207
  > buf.append('from extroot.bar import s: %s' % s)
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   208
  > EOF
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   209
  $ hg --config extensions.extroot=$TESTTMP/extroot root
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   210
  (extroot) from extroot.bar import *: this is extroot.bar
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   211
  (extroot) import extroot.sub1.baz: this is extroot.sub1.baz
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   212
  (extroot) import extroot: this is extroot.__init__
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   213
  (extroot) from extroot.bar import s: this is extroot.bar
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   214
  (extroot) import extroot.bar in func(): this is extroot.bar
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
   215
  $TESTTMP/a (glob)
19933
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   216
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   217
#if no-py3k
20002
83347ff50134 tests: quote environment variable to extract wildcard on MinGW environment
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20001
diff changeset
   218
  $ rm "$TESTTMP"/extroot/foo.*
19933
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   219
  $ cat > $TESTTMP/extroot/foo.py <<EOF
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   220
  > # test relative import
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   221
  > buf = []
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   222
  > def func():
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   223
  >     # "not locals" case
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   224
  >     import bar
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   225
  >     buf.append('import bar in func(): %s' % bar.s)
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   226
  >     return '\n(extroot) '.join(buf)
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   227
  > # "fromlist == ('*',)" case
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   228
  > from bar import *
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   229
  > buf.append('from bar import *: %s' % s)
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   230
  > # "not fromlist" and "if '.' in name" case
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   231
  > import sub1.baz
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   232
  > buf.append('import sub1.baz: %s' % sub1.baz.s)
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   233
  > # "not fromlist" and NOT "if '.' in name" case
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   234
  > import sub1
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   235
  > buf.append('import sub1: %s' % sub1.s)
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   236
  > # NOT "not fromlist" and NOT "level != -1" case
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   237
  > from bar import s
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   238
  > buf.append('from bar import s: %s' % s)
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   239
  > EOF
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   240
  $ hg --config extensions.extroot=$TESTTMP/extroot root
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   241
  (extroot) from bar import *: this is extroot.bar
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   242
  (extroot) import sub1.baz: this is extroot.sub1.baz
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   243
  (extroot) import sub1: this is extroot.sub1.__init__
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   244
  (extroot) from bar import s: this is extroot.bar
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   245
  (extroot) import bar in func(): this is extroot.bar
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
   246
  $TESTTMP/a (glob)
19933
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   247
#endif
621a26eb3a99 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19932
diff changeset
   248
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   249
  $ cd ..
9661
c4f6c02e33c4 hgweb: added test case for extension loading phases (issue1824)
Yuya Nishihara <yuya@tcha.org>
parents: 9410
diff changeset
   250
17014
50fbe9063ff2 tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16853
diff changeset
   251
hide outer repo
50fbe9063ff2 tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16853
diff changeset
   252
  $ hg init
50fbe9063ff2 tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16853
diff changeset
   253
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   254
  $ cat > empty.py <<EOF
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   255
  > '''empty cmdtable
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   256
  > '''
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   257
  > cmdtable = {}
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   258
  > EOF
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   259
  $ emptypath=`pwd`/empty.py
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   260
  $ echo "empty = $emptypath" >> $HGRCPATH
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   261
  $ hg help empty
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   262
  empty extension - empty cmdtable
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   263
  
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   264
  no commands defined
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   265
21849
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   266
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   267
  $ echo 'empty = !' >> $HGRCPATH
9661
c4f6c02e33c4 hgweb: added test case for extension loading phases (issue1824)
Yuya Nishihara <yuya@tcha.org>
parents: 9410
diff changeset
   268
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   269
  $ cat > debugextension.py <<EOF
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   270
  > '''only debugcommands
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   271
  > '''
21254
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 20003
diff changeset
   272
  > from mercurial import cmdutil
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 20003
diff changeset
   273
  > cmdtable = {}
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 20003
diff changeset
   274
  > command = cmdutil.command(cmdtable)
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 20003
diff changeset
   275
  > @command('debugfoobar', [], 'hg debugfoobar')
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   276
  > def debugfoobar(ui, repo, *args, **opts):
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   277
  >     "yet another debug command"
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   278
  >     pass
21254
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 20003
diff changeset
   279
  > @command('foo', [], 'hg foo')
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   280
  > def foo(ui, repo, *args, **opts):
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   281
  >     """yet another foo command
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   282
  >     This command has been DEPRECATED since forever.
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   283
  >     """
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   284
  >     pass
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   285
  > EOF
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   286
  $ debugpath=`pwd`/debugextension.py
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   287
  $ echo "debugextension = $debugpath" >> $HGRCPATH
9410
1c83938b6a8e extensions: load and configure extensions in well-defined phases
Martin Geisler <mg@lazybytes.net>
parents: 9128
diff changeset
   288
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   289
  $ hg help debugextension
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   290
  debugextension extension - only debugcommands
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   291
  
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   292
  no commands defined
4950
93b7e2fa7ee3 help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4738
diff changeset
   293
21849
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   294
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   295
  $ hg --verbose help debugextension
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   296
  debugextension extension - only debugcommands
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   297
  
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   298
  list of commands:
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   299
  
16853
7863ff383894 help: format command and option list help using RST
Olav Reinert <seroton10@gmail.com>
parents: 16744
diff changeset
   300
   foo           yet another foo command
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   301
  
22117
c1d93edcf004 help: fold repeatable option message into option table header
Matt Mackall <mpm@selenic.com>
parents: 22113
diff changeset
   302
  global options ([+] can be repeated):
15145
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   303
  
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   304
   -R --repository REPO   repository root directory or name of overlay bundle
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   305
                          file
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   306
      --cwd DIR           change working directory
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   307
   -y --noninteractive    do not prompt, automatically pick the first choice for
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   308
                          all prompts
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   309
   -q --quiet             suppress output
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   310
   -v --verbose           enable additional output
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   311
      --config CONFIG [+] set/override config option (use 'section.name=value')
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   312
      --debug             enable debugging output
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   313
      --debugger          start debugger
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   314
      --encoding ENCODE   set the charset encoding (default: ascii)
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   315
      --encodingmode MODE set the charset encoding mode (default: strict)
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   316
      --traceback         always print a traceback on exception
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   317
      --time              time how long the command takes
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   318
      --profile           print command execution profile
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   319
      --version           output version information and exit
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   320
   -h --help              display help and exit
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18224
diff changeset
   321
      --hidden            consider hidden changesets
9128
98d90ad54749 commands: hide deprecated commands.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8189
diff changeset
   322
21849
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   323
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   324
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   325
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   326
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   327
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   328
  $ hg --debug help debugextension
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   329
  debugextension extension - only debugcommands
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   330
  
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   331
  list of commands:
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   332
  
16853
7863ff383894 help: format command and option list help using RST
Olav Reinert <seroton10@gmail.com>
parents: 16744
diff changeset
   333
   debugfoobar   yet another debug command
7863ff383894 help: format command and option list help using RST
Olav Reinert <seroton10@gmail.com>
parents: 16744
diff changeset
   334
   foo           yet another foo command
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   335
  
22117
c1d93edcf004 help: fold repeatable option message into option table header
Matt Mackall <mpm@selenic.com>
parents: 22113
diff changeset
   336
  global options ([+] can be repeated):
15145
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   337
  
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   338
   -R --repository REPO   repository root directory or name of overlay bundle
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   339
                          file
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   340
      --cwd DIR           change working directory
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   341
   -y --noninteractive    do not prompt, automatically pick the first choice for
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   342
                          all prompts
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   343
   -q --quiet             suppress output
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   344
   -v --verbose           enable additional output
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   345
      --config CONFIG [+] set/override config option (use 'section.name=value')
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   346
      --debug             enable debugging output
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   347
      --debugger          start debugger
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   348
      --encoding ENCODE   set the charset encoding (default: ascii)
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   349
      --encodingmode MODE set the charset encoding mode (default: strict)
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   350
      --traceback         always print a traceback on exception
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   351
      --time              time how long the command takes
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   352
      --profile           print command execution profile
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   353
      --version           output version information and exit
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   354
   -h --help              display help and exit
18267
5bb610f87d1d clfilter: enforce hidden changeset globally
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18224
diff changeset
   355
      --hidden            consider hidden changesets
21849
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   356
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   357
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   358
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   359
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   360
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   361
  $ echo 'debugextension = !' >> $HGRCPATH
7011
7da76778dbd7 Do not try to load extensions twice (issue811)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 5523
diff changeset
   362
14284
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   363
Extension module help vs command help:
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   364
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   365
  $ echo 'extdiff =' >> $HGRCPATH
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   366
  $ hg help extdiff
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   367
  hg extdiff [OPT]... [FILE]...
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   368
  
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   369
  use external program to diff repository (or selected files)
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   370
  
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   371
      Show differences between revisions for the specified files, using an
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   372
      external program. The default program used is diff, with default options
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   373
      "-Npru".
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   374
  
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   375
      To select a different program, use the -p/--program option. The program
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   376
      will be passed the names of two directories to compare. To pass additional
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   377
      options to the program, use -o/--option. These will be passed before the
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   378
      names of the directories to compare.
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   379
  
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   380
      When two revision arguments are given, then changes are shown between
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   381
      those revisions. If only one revision is specified then that revision is
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   382
      compared to the working directory, and, when no revisions are specified,
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   383
      the working directory files are compared to its parent.
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   384
  
22112
d968f4741a22 help: normalize extension shadow hint
Matt Mackall <mpm@selenic.com>
parents: 22111
diff changeset
   385
  (use "hg help -e extdiff" to show help for the extdiff extension)
14285
aa64a87b493d help: give hint about 'hg help -e' when appropriate
Martin Geisler <mg@aragost.com>
parents: 14284
diff changeset
   386
  
22117
c1d93edcf004 help: fold repeatable option message into option table header
Matt Mackall <mpm@selenic.com>
parents: 22113
diff changeset
   387
  options ([+] can be repeated):
14284
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   388
  
15145
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   389
   -p --program CMD         comparison program to run
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   390
   -o --option OPT [+]      pass option to comparison program
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   391
   -r --rev REV [+]         revision
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   392
   -c --change REV          change made by revision
26228
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 26219
diff changeset
   393
      --patch               compare patches for two revisions
15145
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   394
   -I --include PATTERN [+] include names matching the given patterns
ff26712a0c50 help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents: 14849
diff changeset
   395
   -X --exclude PATTERN [+] exclude names matching the given patterns
25813
18bae5eb58c5 extdiff: add support for subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 24257
diff changeset
   396
   -S --subrepos            recurse into subrepositories
14284
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   397
  
22110
26f7c8033bed help: tweak --verbose command help hint
Matt Mackall <mpm@selenic.com>
parents: 21937
diff changeset
   398
  (some details hidden, use --verbose to show complete help)
14284
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   399
21849
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   400
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   401
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   402
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   403
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   404
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   405
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   406
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   407
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   408
14284
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   409
  $ hg help --extension extdiff
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   410
  extdiff extension - command to allow external programs to compare revisions
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   411
  
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   412
  The extdiff Mercurial extension allows you to use external programs to compare
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   413
  revisions, or revision with working directory. The external diff programs are
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   414
  called with a configurable set of options and two non-option arguments: paths
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   415
  to directories containing snapshots of files to compare.
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   416
  
14327
d943412e2fba extdiff: grammar "allows to" -> "allows one to"
Javi Merino <cibervicho@gmail.com>
parents: 14286
diff changeset
   417
  The extdiff extension also allows you to configure new diff commands, so you
d943412e2fba extdiff: grammar "allows to" -> "allows one to"
Javi Merino <cibervicho@gmail.com>
parents: 14286
diff changeset
   418
  do not need to type "hg extdiff -p kdiff3" always.
14284
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   419
  
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   420
    [extdiff]
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   421
    # add new command that runs GNU diff(1) in 'context diff' mode
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   422
    cdiff = gdiff -Nprc5
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   423
    ## or the old way:
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   424
    #cmd.cdiff = gdiff
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   425
    #opts.cdiff = -Nprc5
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   426
  
23150
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22947
diff changeset
   427
    # add new command called meld, runs meld (no need to name twice).  If
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22947
diff changeset
   428
    # the meld executable is not available, the meld tool in [merge-tools]
aff73c777b0b extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents: 22947
diff changeset
   429
    # will be used, if available
14284
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   430
    meld =
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   431
  
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   432
    # add new command called vimdiff, runs gvimdiff with DirDiff plugin
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   433
    # (see http://www.vim.org/scripts/script.php?script_id=102) Non
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   434
    # English user, be sure to put "let g:DirDiffDynamicDiffText = 1" in
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   435
    # your .vimrc
16242
55174ab81973 extdiff: escape filenames with vim/DirDiff and make quoting work with Windows
Thomas Arendsen Hein <thomas@intevation.de>
parents: 15862
diff changeset
   436
    vimdiff = gvim -f "+next" \
55174ab81973 extdiff: escape filenames with vim/DirDiff and make quoting work with Windows
Thomas Arendsen Hein <thomas@intevation.de>
parents: 15862
diff changeset
   437
              "+execute 'DirDiff' fnameescape(argv(0)) fnameescape(argv(1))"
14284
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   438
  
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   439
  Tool arguments can include variables that are expanded at runtime:
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   440
  
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   441
    $parent1, $plabel1 - filename, descriptive label of first parent
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   442
    $child,   $clabel  - filename, descriptive label of child revision
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   443
    $parent2, $plabel2 - filename, descriptive label of second parent
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   444
    $root              - repository root
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   445
    $parent is an alias for $parent1.
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   446
  
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   447
  The extdiff extension will look in your [diff-tools] and [merge-tools]
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   448
  sections for diff tool arguments, when none are specified in [extdiff].
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   449
  
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   450
    [extdiff]
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   451
    kdiff3 =
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   452
  
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   453
    [diff-tools]
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   454
    kdiff3.diffargs=--L1 '$plabel1' --L2 '$clabel' $parent $child
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   455
  
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   456
  You can use -I/-X and list of file or directory names like normal "hg diff"
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   457
  command. The extdiff extension makes snapshots of only needed files, so
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   458
  running the external diff program will actually be pretty fast (at least
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   459
  faster than having to compare the entire tree).
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   460
  
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   461
  list of commands:
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   462
  
16853
7863ff383894 help: format command and option list help using RST
Olav Reinert <seroton10@gmail.com>
parents: 16744
diff changeset
   463
   extdiff       use external program to diff repository (or selected files)
14284
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   464
  
23624
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   465
  (use "hg help -v -e extdiff" to show built-in aliases and global options)
14284
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   466
21849
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   467
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   468
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   469
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   470
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   471
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   472
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   473
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   474
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   475
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   476
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   477
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   478
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   479
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   480
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   481
14284
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   482
  $ echo 'extdiff = !' >> $HGRCPATH
1f9e11f65cd7 help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents: 13191
diff changeset
   483
14286
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   484
Test help topic with same name as extension
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   485
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   486
  $ cat > multirevs.py <<EOF
21254
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 20003
diff changeset
   487
  > from mercurial import cmdutil, commands
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 20003
diff changeset
   488
  > cmdtable = {}
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 20003
diff changeset
   489
  > command = cmdutil.command(cmdtable)
14286
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   490
  > """multirevs extension
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   491
  > Big multi-line module docstring."""
21773
26d2fb899637 tests: define norepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21289
diff changeset
   492
  > @command('multirevs', [], 'ARG', norepo=True)
14286
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   493
  > def multirevs(ui, repo, arg, *args, **opts):
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   494
  >     """multirevs command"""
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   495
  >     pass
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   496
  > EOF
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   497
  $ echo "multirevs = multirevs.py" >> $HGRCPATH
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   498
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   499
  $ hg help multirevs
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   500
  Specifying Multiple Revisions
18748
6e676fb6ea44 help: use a full header for topic titles
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 18646
diff changeset
   501
  """""""""""""""""""""""""""""
14286
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   502
  
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   503
      When Mercurial accepts more than one revision, they may be specified
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   504
      individually, or provided as a topologically continuous range, separated
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   505
      by the ":" character.
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   506
  
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   507
      The syntax of range notation is [BEGIN]:[END], where BEGIN and END are
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   508
      revision identifiers. Both BEGIN and END are optional. If BEGIN is not
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   509
      specified, it defaults to revision number 0. If END is not specified, it
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   510
      defaults to the tip. The range ":" thus means "all revisions".
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   511
  
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   512
      If BEGIN is greater than END, revisions are treated in reverse order.
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   513
  
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   514
      A range acts as a closed interval. This means that a range of 3:5 gives 3,
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   515
      4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   516
  
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   517
  use "hg help -c multirevs" to see help for the multirevs command
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   518
21849
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   519
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   520
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   521
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   522
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   523
14286
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   524
  $ hg help -c multirevs
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   525
  hg multirevs ARG
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   526
  
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   527
  multirevs command
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   528
  
22110
26f7c8033bed help: tweak --verbose command help hint
Matt Mackall <mpm@selenic.com>
parents: 21937
diff changeset
   529
  (some details hidden, use --verbose to show complete help)
14286
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   530
21849
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   531
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   532
14286
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   533
  $ hg multirevs
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   534
  hg multirevs: invalid arguments
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   535
  hg multirevs ARG
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   536
  
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   537
  multirevs command
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   538
  
22111
aa5e256839d5 help: improve command summary hint
Matt Mackall <mpm@selenic.com>
parents: 22110
diff changeset
   539
  (use "hg multirevs -h" to show more help)
14286
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   540
  [255]
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   541
21849
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   542
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   543
14286
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   544
  $ echo "multirevs = !" >> $HGRCPATH
005a540e9aee help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents: 14285
diff changeset
   545
12399
4fee1fd3de9a tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents: 12327
diff changeset
   546
Issue811: Problem loading extensions twice (by site and by user)
7011
7da76778dbd7 Do not try to load extensions twice (issue811)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 5523
diff changeset
   547
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   548
  $ debugpath=`pwd`/debugissue811.py
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   549
  $ cat > debugissue811.py <<EOF
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   550
  > '''show all loaded extensions
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   551
  > '''
21254
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 20003
diff changeset
   552
  > from mercurial import cmdutil, commands, extensions
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 20003
diff changeset
   553
  > cmdtable = {}
51e5c793a9f4 tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 20003
diff changeset
   554
  > command = cmdutil.command(cmdtable)
21773
26d2fb899637 tests: define norepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21289
diff changeset
   555
  > @command('debugextensions', [], 'hg debugextensions', norepo=True)
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   556
  > def debugextensions(ui):
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   557
  >     "yet another debug command"
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   558
  >     ui.write("%s\n" % '\n'.join([x for x, y in extensions.extensions()]))
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   559
  > EOF
23172
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
   560
  $ cat <<EOF >> $HGRCPATH
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
   561
  > debugissue811 = $debugpath
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
   562
  > mq =
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
   563
  > strip =
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
   564
  > hgext.mq =
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
   565
  > hgext/mq =
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
   566
  > EOF
7011
7da76778dbd7 Do not try to load extensions twice (issue811)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 5523
diff changeset
   567
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   568
Show extensions:
19822
a194a33f8cb2 mq: prepare a strip extension for extraction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19777
diff changeset
   569
(note that mq force load strip, also checking it's not loaded twice)
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   570
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   571
  $ hg debugextensions
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   572
  debugissue811
19822
a194a33f8cb2 mq: prepare a strip extension for extraction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19777
diff changeset
   573
  strip
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   574
  mq
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   575
23624
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   576
For extensions, which name matches one of its commands, help
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   577
message should ask '-v -e' to get list of built-in aliases
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   578
along with extension help itself
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   579
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   580
  $ mkdir $TESTTMP/d
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   581
  $ cat > $TESTTMP/d/dodo.py <<EOF
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   582
  > """
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   583
  > This is an awesome 'dodo' extension. It does nothing and
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   584
  > writes 'Foo foo'
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   585
  > """
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   586
  > from mercurial import cmdutil, commands
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   587
  > cmdtable = {}
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   588
  > command = cmdutil.command(cmdtable)
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   589
  > @command('dodo', [], 'hg dodo')
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   590
  > def dodo(ui, *args, **kwargs):
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   591
  >     """Does nothing"""
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   592
  >     ui.write("I do nothing. Yay\\n")
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   593
  > @command('foofoo', [], 'hg foofoo')
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   594
  > def foofoo(ui, *args, **kwargs):
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   595
  >     """Writes 'Foo foo'"""
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   596
  >     ui.write("Foo foo\\n")
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   597
  > EOF
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   598
  $ dodopath=$TESTTMP/d/dodo.py
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   599
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   600
  $ echo "dodo = $dodopath" >> $HGRCPATH
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   601
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   602
Make sure that user is asked to enter '-v -e' to get list of built-in aliases
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   603
  $ hg help -e dodo
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   604
  dodo extension -
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   605
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   606
  This is an awesome 'dodo' extension. It does nothing and writes 'Foo foo'
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   607
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   608
  list of commands:
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   609
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   610
   dodo          Does nothing
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   611
   foofoo        Writes 'Foo foo'
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   612
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   613
  (use "hg help -v -e dodo" to show built-in aliases and global options)
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   614
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   615
Make sure that '-v -e' prints list of built-in aliases along with
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   616
extension help itself
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   617
  $ hg help -v -e dodo
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   618
  dodo extension -
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   619
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   620
  This is an awesome 'dodo' extension. It does nothing and writes 'Foo foo'
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   621
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   622
  list of commands:
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   623
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   624
   dodo          Does nothing
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   625
   foofoo        Writes 'Foo foo'
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   626
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   627
  global options ([+] can be repeated):
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   628
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   629
   -R --repository REPO   repository root directory or name of overlay bundle
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   630
                          file
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   631
      --cwd DIR           change working directory
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   632
   -y --noninteractive    do not prompt, automatically pick the first choice for
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   633
                          all prompts
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   634
   -q --quiet             suppress output
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   635
   -v --verbose           enable additional output
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   636
      --config CONFIG [+] set/override config option (use 'section.name=value')
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   637
      --debug             enable debugging output
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   638
      --debugger          start debugger
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   639
      --encoding ENCODE   set the charset encoding (default: ascii)
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   640
      --encodingmode MODE set the charset encoding mode (default: strict)
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   641
      --traceback         always print a traceback on exception
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   642
      --time              time how long the command takes
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   643
      --profile           print command execution profile
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   644
      --version           output version information and exit
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   645
   -h --help              display help and exit
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   646
      --hidden            consider hidden changesets
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   647
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   648
Make sure that single '-v' option shows help and built-ins only for 'dodo' command
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   649
  $ hg help -v dodo
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   650
  hg dodo
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   651
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   652
  Does nothing
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   653
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   654
  (use "hg help -e dodo" to show help for the dodo extension)
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   655
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   656
  options:
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   657
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   658
    --mq operate on patch repository
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   659
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   660
  global options ([+] can be repeated):
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   661
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   662
   -R --repository REPO   repository root directory or name of overlay bundle
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   663
                          file
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   664
      --cwd DIR           change working directory
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   665
   -y --noninteractive    do not prompt, automatically pick the first choice for
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   666
                          all prompts
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   667
   -q --quiet             suppress output
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   668
   -v --verbose           enable additional output
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   669
      --config CONFIG [+] set/override config option (use 'section.name=value')
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   670
      --debug             enable debugging output
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   671
      --debugger          start debugger
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   672
      --encoding ENCODE   set the charset encoding (default: ascii)
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   673
      --encodingmode MODE set the charset encoding mode (default: strict)
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   674
      --traceback         always print a traceback on exception
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   675
      --time              time how long the command takes
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   676
      --profile           print command execution profile
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   677
      --version           output version information and exit
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   678
   -h --help              display help and exit
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   679
      --hidden            consider hidden changesets
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   680
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   681
In case when extension name doesn't match any of its commands,
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   682
help message should ask for '-v' to get list of built-in aliases
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   683
along with extension help
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   684
  $ cat > $TESTTMP/d/dudu.py <<EOF
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   685
  > """
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   686
  > This is an awesome 'dudu' extension. It does something and
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   687
  > also writes 'Beep beep'
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   688
  > """
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   689
  > from mercurial import cmdutil, commands
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   690
  > cmdtable = {}
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   691
  > command = cmdutil.command(cmdtable)
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   692
  > @command('something', [], 'hg something')
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   693
  > def something(ui, *args, **kwargs):
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   694
  >     """Does something"""
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   695
  >     ui.write("I do something. Yaaay\\n")
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   696
  > @command('beep', [], 'hg beep')
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   697
  > def beep(ui, *args, **kwargs):
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   698
  >     """Writes 'Beep beep'"""
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   699
  >     ui.write("Beep beep\\n")
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   700
  > EOF
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   701
  $ dudupath=$TESTTMP/d/dudu.py
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   702
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   703
  $ echo "dudu = $dudupath" >> $HGRCPATH
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   704
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   705
  $ hg help -e dudu
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   706
  dudu extension -
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   707
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   708
  This is an awesome 'dudu' extension. It does something and also writes 'Beep
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   709
  beep'
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   710
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   711
  list of commands:
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   712
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   713
   beep          Writes 'Beep beep'
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   714
   something     Does something
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   715
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   716
  (use "hg help -v dudu" to show built-in aliases and global options)
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   717
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   718
In case when extension name doesn't match any of its commands,
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   719
help options '-v' and '-v -e' should be equivalent
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   720
  $ hg help -v dudu
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   721
  dudu extension -
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   722
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   723
  This is an awesome 'dudu' extension. It does something and also writes 'Beep
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   724
  beep'
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   725
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   726
  list of commands:
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   727
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   728
   beep          Writes 'Beep beep'
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   729
   something     Does something
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   730
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   731
  global options ([+] can be repeated):
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   732
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   733
   -R --repository REPO   repository root directory or name of overlay bundle
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   734
                          file
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   735
      --cwd DIR           change working directory
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   736
   -y --noninteractive    do not prompt, automatically pick the first choice for
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   737
                          all prompts
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   738
   -q --quiet             suppress output
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   739
   -v --verbose           enable additional output
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   740
      --config CONFIG [+] set/override config option (use 'section.name=value')
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   741
      --debug             enable debugging output
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   742
      --debugger          start debugger
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   743
      --encoding ENCODE   set the charset encoding (default: ascii)
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   744
      --encodingmode MODE set the charset encoding mode (default: strict)
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   745
      --traceback         always print a traceback on exception
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   746
      --time              time how long the command takes
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   747
      --profile           print command execution profile
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   748
      --version           output version information and exit
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   749
   -h --help              display help and exit
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   750
      --hidden            consider hidden changesets
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   751
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   752
  $ hg help -v -e dudu
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   753
  dudu extension -
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   754
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   755
  This is an awesome 'dudu' extension. It does something and also writes 'Beep
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   756
  beep'
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   757
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   758
  list of commands:
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   759
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   760
   beep          Writes 'Beep beep'
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   761
   something     Does something
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   762
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   763
  global options ([+] can be repeated):
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   764
  
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   765
   -R --repository REPO   repository root directory or name of overlay bundle
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   766
                          file
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   767
      --cwd DIR           change working directory
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   768
   -y --noninteractive    do not prompt, automatically pick the first choice for
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   769
                          all prompts
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   770
   -q --quiet             suppress output
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   771
   -v --verbose           enable additional output
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   772
      --config CONFIG [+] set/override config option (use 'section.name=value')
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   773
      --debug             enable debugging output
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   774
      --debugger          start debugger
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   775
      --encoding ENCODE   set the charset encoding (default: ascii)
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   776
      --encodingmode MODE set the charset encoding mode (default: strict)
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   777
      --traceback         always print a traceback on exception
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   778
      --time              time how long the command takes
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   779
      --profile           print command execution profile
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   780
      --version           output version information and exit
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   781
   -h --help              display help and exit
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   782
      --hidden            consider hidden changesets
861ddedfb402 help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents: 23172
diff changeset
   783
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   784
Disabled extension commands:
10364
de1e7099d100 dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents: 9802
diff changeset
   785
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
   786
  $ ORGHGRCPATH=$HGRCPATH
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   787
  $ HGRCPATH=
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   788
  $ export HGRCPATH
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   789
  $ hg help email
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   790
  'email' is provided by the following extension:
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   791
  
15861
ee8f5e4ce7b8 minirst: simplify and standardize field list formatting
Olav Reinert <seroton10@gmail.com>
parents: 15447
diff changeset
   792
      patchbomb     command to send changesets as (a series of) patch emails
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   793
  
22113
2d2cb5e50095 help: normalize hint about enabling extensions
Matt Mackall <mpm@selenic.com>
parents: 22112
diff changeset
   794
  (use "hg help extensions" for information on enabling extensions)
21849
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   795
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   796
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   797
  $ hg qdel
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   798
  hg: unknown command 'qdel'
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   799
  'qdelete' is provided by the following extension:
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   800
  
15861
ee8f5e4ce7b8 minirst: simplify and standardize field list formatting
Olav Reinert <seroton10@gmail.com>
parents: 15447
diff changeset
   801
      mq            manage a stack of patches
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   802
  
22113
2d2cb5e50095 help: normalize hint about enabling extensions
Matt Mackall <mpm@selenic.com>
parents: 22112
diff changeset
   803
  (use "hg help extensions" for information on enabling extensions)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12191
diff changeset
   804
  [255]
21849
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   805
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   806
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   807
  $ hg churn
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   808
  hg: unknown command 'churn'
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   809
  'churn' is provided by the following extension:
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   810
  
15861
ee8f5e4ce7b8 minirst: simplify and standardize field list formatting
Olav Reinert <seroton10@gmail.com>
parents: 15447
diff changeset
   811
      churn         command to display statistics about repository history
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   812
  
22113
2d2cb5e50095 help: normalize hint about enabling extensions
Matt Mackall <mpm@selenic.com>
parents: 22112
diff changeset
   813
  (use "hg help extensions" for information on enabling extensions)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12191
diff changeset
   814
  [255]
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   815
21849
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   816
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   817
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   818
Disabled extensions:
10364
de1e7099d100 dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents: 9802
diff changeset
   819
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   820
  $ hg help churn
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   821
  churn extension - command to display statistics about repository history
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   822
  
22113
2d2cb5e50095 help: normalize hint about enabling extensions
Matt Mackall <mpm@selenic.com>
parents: 22112
diff changeset
   823
  (use "hg help extensions" for information on enabling extensions)
21849
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   824
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   825
  $ hg help patchbomb
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   826
  patchbomb extension - command to send changesets as (a series of) patch emails
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   827
  
22113
2d2cb5e50095 help: normalize hint about enabling extensions
Matt Mackall <mpm@selenic.com>
parents: 22112
diff changeset
   828
  (use "hg help extensions" for information on enabling extensions)
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   829
21849
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   830
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   831
Broken disabled extension and command:
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   832
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   833
  $ mkdir hgext
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   834
  $ echo > hgext/__init__.py
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   835
  $ cat > hgext/broken.py <<EOF
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   836
  > "broken extension'
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   837
  > EOF
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   838
  $ cat > path.py <<EOF
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   839
  > import os, sys
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   840
  > sys.path.insert(0, os.environ['HGEXTPATH'])
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   841
  > EOF
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   842
  $ HGEXTPATH=`pwd`
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   843
  $ export HGEXTPATH
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   844
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   845
  $ hg --config extensions.path=./path.py help broken
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   846
  broken extension - (no help text available)
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   847
  
22113
2d2cb5e50095 help: normalize hint about enabling extensions
Matt Mackall <mpm@selenic.com>
parents: 22112
diff changeset
   848
  (use "hg help extensions" for information on enabling extensions)
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   849
21849
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   850
13191
1aea66b71f4f extensions: warn about invalid extensions when listing disabled commands
Mads Kiilerich <mads@kiilerich.com>
parents: 12399
diff changeset
   851
  $ cat > hgext/forest.py <<EOF
1aea66b71f4f extensions: warn about invalid extensions when listing disabled commands
Mads Kiilerich <mads@kiilerich.com>
parents: 12399
diff changeset
   852
  > cmdtable = None
1aea66b71f4f extensions: warn about invalid extensions when listing disabled commands
Mads Kiilerich <mads@kiilerich.com>
parents: 12399
diff changeset
   853
  > EOF
12191
56c74b2df53d tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents: 11070
diff changeset
   854
  $ hg --config extensions.path=./path.py help foo > /dev/null
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 15202
diff changeset
   855
  warning: error finding commands in $TESTTMP/hgext/forest.py (glob)
21289
c3784e3c3e8d help: suggest keyword search when no topic is found
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21254
diff changeset
   856
  abort: no such help topic: foo
c3784e3c3e8d help: suggest keyword search when no topic is found
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21254
diff changeset
   857
  (try "hg help --keyword foo")
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12191
diff changeset
   858
  [255]
16744
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   859
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   860
  $ cat > throw.py <<EOF
23871
b2d8f3685b06 dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23870
diff changeset
   861
  > from mercurial import cmdutil, commands, util
16744
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   862
  > cmdtable = {}
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   863
  > command = cmdutil.command(cmdtable)
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   864
  > class Bogon(Exception): pass
21773
26d2fb899637 tests: define norepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents: 21289
diff changeset
   865
  > @command('throw', [], 'hg throw', norepo=True)
16744
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   866
  > def throw(ui, **opts):
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   867
  >     """throws an exception"""
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   868
  >     raise Bogon()
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   869
  > EOF
23869
d9967b82394a test-extension: improve test readability
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23624
diff changeset
   870
16744
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   871
No declared supported version, extension complains:
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   872
  $ hg --config extensions.throw=throw.py throw 2>&1 | egrep '^\*\*'
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   873
  ** Unknown exception encountered with possibly-broken third-party extension throw
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   874
  ** which supports versions unknown of Mercurial.
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   875
  ** Please disable throw and try your action again.
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   876
  ** If that fixes the bug please report it to the extension author.
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   877
  ** Python * (glob)
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   878
  ** Mercurial Distributed SCM * (glob)
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   879
  ** Extensions loaded: throw
23869
d9967b82394a test-extension: improve test readability
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23624
diff changeset
   880
18224
0f9013112eba dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17837
diff changeset
   881
empty declaration of supported version, extension complains:
0f9013112eba dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17837
diff changeset
   882
  $ echo "testedwith = ''" >> throw.py
0f9013112eba dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17837
diff changeset
   883
  $ hg --config extensions.throw=throw.py throw 2>&1 | egrep '^\*\*'
0f9013112eba dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17837
diff changeset
   884
  ** Unknown exception encountered with possibly-broken third-party extension throw
0f9013112eba dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17837
diff changeset
   885
  ** which supports versions unknown of Mercurial.
0f9013112eba dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17837
diff changeset
   886
  ** Please disable throw and try your action again.
0f9013112eba dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17837
diff changeset
   887
  ** If that fixes the bug please report it to the extension author.
0f9013112eba dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17837
diff changeset
   888
  ** Python * (glob)
0f9013112eba dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17837
diff changeset
   889
  ** Mercurial Distributed SCM (*) (glob)
0f9013112eba dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17837
diff changeset
   890
  ** Extensions loaded: throw
23869
d9967b82394a test-extension: improve test readability
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23624
diff changeset
   891
16744
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   892
If the extension specifies a buglink, show that:
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   893
  $ echo 'buglink = "http://example.com/bts"' >> throw.py
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   894
  $ rm -f throw.pyc throw.pyo
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   895
  $ hg --config extensions.throw=throw.py throw 2>&1 | egrep '^\*\*'
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   896
  ** Unknown exception encountered with possibly-broken third-party extension throw
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   897
  ** which supports versions unknown of Mercurial.
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   898
  ** Please disable throw and try your action again.
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   899
  ** If that fixes the bug please report it to http://example.com/bts
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   900
  ** Python * (glob)
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   901
  ** Mercurial Distributed SCM (*) (glob)
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   902
  ** Extensions loaded: throw
23869
d9967b82394a test-extension: improve test readability
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23624
diff changeset
   903
16744
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   904
If the extensions declare outdated versions, accuse the older extension first:
17227
7af38fe1f829 test-extension.t: use fixed version string instead of current tag
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17014
diff changeset
   905
  $ echo "from mercurial import util" >> older.py
7af38fe1f829 test-extension.t: use fixed version string instead of current tag
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17014
diff changeset
   906
  $ echo "util.version = lambda:'2.2'" >> older.py
16744
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   907
  $ echo "testedwith = '1.9.3'" >> older.py
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   908
  $ echo "testedwith = '2.1.1'" >> throw.py
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   909
  $ rm -f throw.pyc throw.pyo
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   910
  $ hg --config extensions.throw=throw.py --config extensions.older=older.py \
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   911
  >   throw 2>&1 | egrep '^\*\*'
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   912
  ** Unknown exception encountered with possibly-broken third-party extension older
23871
b2d8f3685b06 dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23870
diff changeset
   913
  ** which supports versions 1.9 of Mercurial.
16744
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   914
  ** Please disable older and try your action again.
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   915
  ** If that fixes the bug please report it to the extension author.
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   916
  ** Python * (glob)
17228
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   917
  ** Mercurial Distributed SCM (version 2.2)
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   918
  ** Extensions loaded: throw, older
23869
d9967b82394a test-extension: improve test readability
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23624
diff changeset
   919
17228
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   920
One extension only tested with older, one only with newer versions:
23870
9070e20057ae test-extension: use a realistic Mercurial version
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23869
diff changeset
   921
  $ echo "util.version = lambda:'2.1'" >> older.py
17228
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   922
  $ rm -f older.pyc older.pyo
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   923
  $ hg --config extensions.throw=throw.py --config extensions.older=older.py \
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   924
  >   throw 2>&1 | egrep '^\*\*'
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   925
  ** Unknown exception encountered with possibly-broken third-party extension older
23871
b2d8f3685b06 dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23870
diff changeset
   926
  ** which supports versions 1.9 of Mercurial.
17228
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   927
  ** Please disable older and try your action again.
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   928
  ** If that fixes the bug please report it to the extension author.
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   929
  ** Python * (glob)
23870
9070e20057ae test-extension: use a realistic Mercurial version
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23869
diff changeset
   930
  ** Mercurial Distributed SCM (version 2.1)
17228
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   931
  ** Extensions loaded: throw, older
23869
d9967b82394a test-extension: improve test readability
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23624
diff changeset
   932
17228
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   933
Older extension is tested with current version, the other only with newer:
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   934
  $ echo "util.version = lambda:'1.9.3'" >> older.py
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   935
  $ rm -f older.pyc older.pyo
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   936
  $ hg --config extensions.throw=throw.py --config extensions.older=older.py \
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   937
  >   throw 2>&1 | egrep '^\*\*'
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   938
  ** Unknown exception encountered with possibly-broken third-party extension throw
23871
b2d8f3685b06 dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23870
diff changeset
   939
  ** which supports versions 2.1 of Mercurial.
17228
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   940
  ** Please disable throw and try your action again.
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   941
  ** If that fixes the bug please report it to http://example.com/bts
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   942
  ** Python * (glob)
d1b49b02bc16 dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents: 17227
diff changeset
   943
  ** Mercurial Distributed SCM (version 1.9.3)
16744
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   944
  ** Extensions loaded: throw, older
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   945
26263
bf2bfc6f45fb traceback: allow providing a local support contact point
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26228
diff changeset
   946
Ability to point to a different point
bf2bfc6f45fb traceback: allow providing a local support contact point
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26228
diff changeset
   947
  $ hg --config extensions.throw=throw.py --config extensions.older=older.py \
bf2bfc6f45fb traceback: allow providing a local support contact point
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26228
diff changeset
   948
  >   --config ui.supportcontact='Your Local Goat Lenders' throw 2>&1 | egrep '^\*\*'
bf2bfc6f45fb traceback: allow providing a local support contact point
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26228
diff changeset
   949
  ** unknown exception encountered, please report by visiting
bf2bfc6f45fb traceback: allow providing a local support contact point
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26228
diff changeset
   950
  ** Your Local Goat Lenders
bf2bfc6f45fb traceback: allow providing a local support contact point
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26228
diff changeset
   951
  ** Python * (glob)
bf2bfc6f45fb traceback: allow providing a local support contact point
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26228
diff changeset
   952
  ** Mercurial Distributed SCM (*) (glob)
bf2bfc6f45fb traceback: allow providing a local support contact point
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26228
diff changeset
   953
  ** Extensions loaded: throw, older
bf2bfc6f45fb traceback: allow providing a local support contact point
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26228
diff changeset
   954
16744
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   955
Declare the version as supporting this hg version, show regular bts link:
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 22118
diff changeset
   956
  $ hgver=`$PYTHON -c 'from mercurial import util; print util.version().split("+")[0]'`
16744
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   957
  $ echo 'testedwith = """'"$hgver"'"""' >> throw.py
24257
31e9f66863f3 test: make version based test-extensions failure more explanatory
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24124
diff changeset
   958
  $ if [ -z "$hgver" ]; then
31e9f66863f3 test: make version based test-extensions failure more explanatory
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24124
diff changeset
   959
  >   echo "unable to fetch a mercurial version. Make sure __version__ is correct";
31e9f66863f3 test: make version based test-extensions failure more explanatory
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24124
diff changeset
   960
  > fi
16744
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   961
  $ rm -f throw.pyc throw.pyo
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   962
  $ hg --config extensions.throw=throw.py throw 2>&1 | egrep '^\*\*'
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   963
  ** unknown exception encountered, please report by visiting
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   964
  ** http://mercurial.selenic.com/wiki/BugTracker
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   965
  ** Python * (glob)
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   966
  ** Mercurial Distributed SCM (*) (glob)
1c9f58a6c8f1 dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents: 16242
diff changeset
   967
  ** Extensions loaded: throw
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
   968
23871
b2d8f3685b06 dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23870
diff changeset
   969
Patch version is ignored during compatibility check
b2d8f3685b06 dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23870
diff changeset
   970
  $ echo "testedwith = '3.2'" >> throw.py
b2d8f3685b06 dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23870
diff changeset
   971
  $ echo "util.version = lambda:'3.2.2'" >> throw.py
b2d8f3685b06 dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23870
diff changeset
   972
  $ rm -f throw.pyc throw.pyo
b2d8f3685b06 dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23870
diff changeset
   973
  $ hg --config extensions.throw=throw.py throw 2>&1 | egrep '^\*\*'
b2d8f3685b06 dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23870
diff changeset
   974
  ** unknown exception encountered, please report by visiting
b2d8f3685b06 dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23870
diff changeset
   975
  ** http://mercurial.selenic.com/wiki/BugTracker
b2d8f3685b06 dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23870
diff changeset
   976
  ** Python * (glob)
b2d8f3685b06 dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23870
diff changeset
   977
  ** Mercurial Distributed SCM (*) (glob)
b2d8f3685b06 dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23870
diff changeset
   978
  ** Extensions loaded: throw
b2d8f3685b06 dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 23870
diff changeset
   979
21849
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   980
Test version number support in 'hg version':
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   981
  $ echo '__version__ = (1, 2, 3)' >> throw.py
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   982
  $ rm -f throw.pyc throw.pyo
21937
54ff2789d75e version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents: 21849
diff changeset
   983
  $ hg version -v
54ff2789d75e version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents: 21849
diff changeset
   984
  Mercurial Distributed SCM (version *) (glob)
54ff2789d75e version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents: 21849
diff changeset
   985
  (see http://mercurial.selenic.com for more information)
54ff2789d75e version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents: 21849
diff changeset
   986
  
54ff2789d75e version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents: 21849
diff changeset
   987
  Copyright (C) 2005-* Matt Mackall and others (glob)
54ff2789d75e version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents: 21849
diff changeset
   988
  This is free software; see the source for copying conditions. There is NO
54ff2789d75e version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents: 21849
diff changeset
   989
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
54ff2789d75e version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents: 21849
diff changeset
   990
  
54ff2789d75e version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents: 21849
diff changeset
   991
  Enabled extensions:
54ff2789d75e version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents: 21849
diff changeset
   992
  
54ff2789d75e version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents: 21849
diff changeset
   993
21849
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   994
  $ hg version -v --config extensions.throw=throw.py
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   995
  Mercurial Distributed SCM (version *) (glob)
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   996
  (see http://mercurial.selenic.com for more information)
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   997
  
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   998
  Copyright (C) 2005-* Matt Mackall and others (glob)
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
   999
  This is free software; see the source for copying conditions. There is NO
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
  1000
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
  1001
  
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
  1002
  Enabled extensions:
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
  1003
  
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
  1004
    throw  1.2.3
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
  1005
  $ echo 'getversion = lambda: "1.twentythree"' >> throw.py
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
  1006
  $ rm -f throw.pyc throw.pyo
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
  1007
  $ hg version -v --config extensions.throw=throw.py
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
  1008
  Mercurial Distributed SCM (version *) (glob)
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
  1009
  (see http://mercurial.selenic.com for more information)
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
  1010
  
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
  1011
  Copyright (C) 2005-* Matt Mackall and others (glob)
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
  1012
  This is free software; see the source for copying conditions. There is NO
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
  1013
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
  1014
  
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
  1015
  Enabled extensions:
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
  1016
  
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
  1017
    throw  1.twentythree
a3306b8cdc0f test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents: 21773
diff changeset
  1018
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1019
Restore HGRCPATH
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1020
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1021
  $ HGRCPATH=$ORGHGRCPATH
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1022
  $ export HGRCPATH
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1023
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1024
Commands handling multiple repositories at a time should invoke only
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1025
"reposetup()" of extensions enabling in the target repository.
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1026
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1027
  $ mkdir reposetup-test
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1028
  $ cd reposetup-test
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1029
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1030
  $ cat > $TESTTMP/reposetuptest.py <<EOF
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1031
  > from mercurial import extensions
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1032
  > def reposetup(ui, repo):
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1033
  >     ui.write('reposetup() for %s\n' % (repo.root))
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1034
  > EOF
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1035
  $ hg init src
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1036
  $ echo a > src/a
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1037
  $ hg -R src commit -Am '#0 at src/a'
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1038
  adding a
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1039
  $ echo '[extensions]' >> src/.hg/hgrc
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1040
  $ echo '# enable extension locally' >> src/.hg/hgrc
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1041
  $ echo "reposetuptest = $TESTTMP/reposetuptest.py" >> src/.hg/hgrc
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1042
  $ hg -R src status
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1043
  reposetup() for $TESTTMP/reposetup-test/src (glob)
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1044
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1045
  $ hg clone -U src clone-dst1
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1046
  reposetup() for $TESTTMP/reposetup-test/src (glob)
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1047
  $ hg init push-dst1
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1048
  $ hg -q -R src push push-dst1
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1049
  reposetup() for $TESTTMP/reposetup-test/src (glob)
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1050
  $ hg init pull-src1
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1051
  $ hg -q -R pull-src1 pull src
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1052
  reposetup() for $TESTTMP/reposetup-test/src (glob)
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1053
23172
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
  1054
  $ cat <<EOF >> $HGRCPATH
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
  1055
  > [extensions]
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
  1056
  > # disable extension globally and explicitly
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
  1057
  > reposetuptest = !
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
  1058
  > EOF
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1059
  $ hg clone -U src clone-dst2
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1060
  reposetup() for $TESTTMP/reposetup-test/src (glob)
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1061
  $ hg init push-dst2
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1062
  $ hg -q -R src push push-dst2
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1063
  reposetup() for $TESTTMP/reposetup-test/src (glob)
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1064
  $ hg init pull-src2
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1065
  $ hg -q -R pull-src2 pull src
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1066
  reposetup() for $TESTTMP/reposetup-test/src (glob)
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1067
23172
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
  1068
  $ cat <<EOF >> $HGRCPATH
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
  1069
  > [extensions]
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
  1070
  > # enable extension globally
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
  1071
  > reposetuptest = $TESTTMP/reposetuptest.py
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
  1072
  > EOF
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1073
  $ hg clone -U src clone-dst3
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1074
  reposetup() for $TESTTMP/reposetup-test/src (glob)
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1075
  reposetup() for $TESTTMP/reposetup-test/clone-dst3 (glob)
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1076
  $ hg init push-dst3
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1077
  reposetup() for $TESTTMP/reposetup-test/push-dst3 (glob)
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1078
  $ hg -q -R src push push-dst3
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1079
  reposetup() for $TESTTMP/reposetup-test/src (glob)
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1080
  reposetup() for $TESTTMP/reposetup-test/push-dst3 (glob)
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1081
  $ hg init pull-src3
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1082
  reposetup() for $TESTTMP/reposetup-test/pull-src3 (glob)
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1083
  $ hg -q -R pull-src3 pull src
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1084
  reposetup() for $TESTTMP/reposetup-test/pull-src3 (glob)
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1085
  reposetup() for $TESTTMP/reposetup-test/src (glob)
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1086
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1087
  $ echo '[extensions]' >> src/.hg/hgrc
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1088
  $ echo '# disable extension locally' >> src/.hg/hgrc
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1089
  $ echo 'reposetuptest = !' >> src/.hg/hgrc
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1090
  $ hg clone -U src clone-dst4
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1091
  reposetup() for $TESTTMP/reposetup-test/clone-dst4 (glob)
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1092
  $ hg init push-dst4
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1093
  reposetup() for $TESTTMP/reposetup-test/push-dst4 (glob)
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1094
  $ hg -q -R src push push-dst4
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1095
  reposetup() for $TESTTMP/reposetup-test/push-dst4 (glob)
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1096
  $ hg init pull-src4
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1097
  reposetup() for $TESTTMP/reposetup-test/pull-src4 (glob)
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1098
  $ hg -q -R pull-src4 pull src
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1099
  reposetup() for $TESTTMP/reposetup-test/pull-src4 (glob)
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1100
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1101
disabling in command line overlays with all configuration
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1102
  $ hg --config extensions.reposetuptest=! clone -U src clone-dst5
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1103
  $ hg --config extensions.reposetuptest=! init push-dst5
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1104
  $ hg --config extensions.reposetuptest=! -q -R src push push-dst5
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1105
  $ hg --config extensions.reposetuptest=! init pull-src5
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1106
  $ hg --config extensions.reposetuptest=! -q -R pull-src5 pull src
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1107
23172
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
  1108
  $ cat <<EOF >> $HGRCPATH
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
  1109
  > [extensions]
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
  1110
  > # disable extension globally and explicitly
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
  1111
  > reposetuptest = !
e955549cd045 tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents: 23151
diff changeset
  1112
  > EOF
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1113
  $ hg init parent
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1114
  $ hg init parent/sub1
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1115
  $ echo 1 > parent/sub1/1
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1116
  $ hg -R parent/sub1 commit -Am '#0 at parent/sub1'
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1117
  adding 1
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1118
  $ hg init parent/sub2
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1119
  $ hg init parent/sub2/sub21
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1120
  $ echo 21 > parent/sub2/sub21/21
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1121
  $ hg -R parent/sub2/sub21 commit -Am '#0 at parent/sub2/sub21'
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1122
  adding 21
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1123
  $ cat > parent/sub2/.hgsub <<EOF
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1124
  > sub21 = sub21
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1125
  > EOF
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1126
  $ hg -R parent/sub2 commit -Am '#0 at parent/sub2'
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1127
  adding .hgsub
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1128
  $ hg init parent/sub3
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1129
  $ echo 3 > parent/sub3/3
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1130
  $ hg -R parent/sub3 commit -Am '#0 at parent/sub3'
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1131
  adding 3
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1132
  $ cat > parent/.hgsub <<EOF
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1133
  > sub1 = sub1
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1134
  > sub2 = sub2
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1135
  > sub3 = sub3
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1136
  > EOF
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1137
  $ hg -R parent commit -Am '#0 at parent'
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1138
  adding .hgsub
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1139
  $ echo '[extensions]' >> parent/.hg/hgrc
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1140
  $ echo '# enable extension locally' >> parent/.hg/hgrc
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1141
  $ echo "reposetuptest = $TESTTMP/reposetuptest.py" >> parent/.hg/hgrc
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1142
  $ cp parent/.hg/hgrc parent/sub2/.hg/hgrc
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1143
  $ hg -R parent status -S -A
20003
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1144
  reposetup() for $TESTTMP/reposetup-test/parent (glob)
dcd3c47e464b tests: end output lines including path with "(glob)" to pass on Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20002
diff changeset
  1145
  reposetup() for $TESTTMP/reposetup-test/parent/sub2 (glob)
19777
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1146
  C .hgsub
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1147
  C .hgsubstate
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1148
  C sub1/1
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1149
  C sub2/.hgsub
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1150
  C sub2/.hgsubstate
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1151
  C sub2/sub21/21
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1152
  C sub3/3
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1153
6f72e7d28b35 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 18748
diff changeset
  1154
  $ cd ..
24124
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1155
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1156
Test synopsis and docstring extending
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1157
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1158
  $ hg init exthelp
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1159
  $ cat > exthelp.py <<EOF
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1160
  > from mercurial import commands, extensions
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1161
  > def exbookmarks(orig, *args, **opts):
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1162
  >     return orig(*args, **opts)
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1163
  > def uisetup(ui):
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1164
  >     synopsis = ' GREPME [--foo] [-x]'
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1165
  >     docstring = '''
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1166
  >     GREPME make sure that this is in the help!
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1167
  >     '''
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1168
  >     extensions.wrapcommand(commands.table, 'bookmarks', exbookmarks,
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1169
  >                            synopsis, docstring)
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1170
  > EOF
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1171
  $ abspath=`pwd`/exthelp.py
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1172
  $ echo '[extensions]' >> $HGRCPATH
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1173
  $ echo "exthelp = $abspath" >> $HGRCPATH
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1174
  $ cd exthelp
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1175
  $ hg help bookmarks | grep GREPME
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1176
  hg bookmarks [OPTIONS]... [NAME]... GREPME [--foo] [-x]
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1177
      GREPME make sure that this is in the help!
042d95beeee8 extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents: 23871
diff changeset
  1178