tests/test-extension.out
author David Greenaway <hg-dev@davidgreenaway.com>
Sat, 03 Apr 2010 11:58:16 +1100
changeset 11060 e6df01776e08
parent 10541 fac67f0bfbb2
child 11321 40c06bbf58be
permissions -rw-r--r--
findrenames: Optimise "addremove -s100" by matching files by their SHA1 hashes. We speed up 'findrenames' for the usecase when a user specifies they want a similarity of 100% by matching files by their exact SHA1 hash value. This reduces the number of comparisons required to find exact matches from O(n^2) to O(n). While it would be nice if we could just use mercurial's pre-calculated SHA1 hash for existing files, this hash includes the file's ancestor information making it unsuitable for our purposes. Instead, we calculate the hash of old content from scratch. The following benchmarks were taken on the current head of crew: addremove 100% similarity: rm -rf *; hg up -C; mv tests tests.new hg --time addremove -s100 --dry-run before: real 176.350 secs (user 128.890+0.000 sys 47.430+0.000) after: real 2.130 secs (user 1.890+0.000 sys 0.240+0.000) addremove 75% similarity: rm -rf *; hg up -C; mv tests tests.new; \ for i in tests.new/*; do echo x >> $i; done hg --time addremove -s75 --dry-run before: real 264.560 secs (user 215.130+0.000 sys 49.410+0.000) after: real 218.710 secs (user 172.790+0.000 sys 45.870+0.000)

uisetup called
reposetup called for a
ui == repo.ui
Foo
uisetup called
reposetup called for a
ui == repo.ui
reposetup called for b
ui == repo.ui
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
uisetup called
Bar
% module/__init__.py-style
uisetup called
reposetup called for a
ui == repo.ui
Foo
1) foo imported
1) bar imported
2) foo uisetup
2) bar uisetup
3) foo extsetup
3) bar extsetup
4) foo reposetup
4) bar reposetup
% hgweb.cgi
1) foo imported
1) bar imported
2) foo uisetup
2) bar uisetup
3) foo extsetup
3) bar extsetup
4) foo reposetup
4) bar reposetup
4) foo reposetup
4) bar reposetup
empty extension - empty cmdtable

no commands defined
% hg help
debugextension extension - only debugcommands

no commands defined
% hg help --verbose
debugextension extension - only debugcommands

list of commands:

 foo:
      yet another foo command

global options:
 -R --repository      repository root directory or name of overlay bundle file
    --cwd             change working directory
 -y --noninteractive  do not prompt, assume 'yes' for any required answers
 -q --quiet           suppress output
 -v --verbose         enable additional output
    --config          set/override config option (use 'section.name=value')
    --debug           enable debugging output
    --debugger        start debugger
    --encoding        set the charset encoding (default: ascii)
    --encodingmode    set the charset encoding mode (default: strict)
    --traceback       always print a traceback on exception
    --time            time how long the command takes
    --profile         print command execution profile
    --version         output version information and exit
 -h --help            display help and exit
% hg help --debug
debugextension extension - only debugcommands

list of commands:

 debugfoobar:
      yet another debug command
 foo:
      yet another foo command

global options:
 -R --repository      repository root directory or name of overlay bundle file
    --cwd             change working directory
 -y --noninteractive  do not prompt, assume 'yes' for any required answers
 -q --quiet           suppress output
 -v --verbose         enable additional output
    --config          set/override config option (use 'section.name=value')
    --debug           enable debugging output
    --debugger        start debugger
    --encoding        set the charset encoding (default: ascii)
    --encodingmode    set the charset encoding mode (default: strict)
    --traceback       always print a traceback on exception
    --time            time how long the command takes
    --profile         print command execution profile
    --version         output version information and exit
 -h --help            display help and exit
% issue811
% show extensions
debugissue811
mq
% disabled extension commands
'email' is provided by the following extension:

    patchbomb  command to send changesets as (a series of) patch emails

use "hg help extensions" for information on enabling extensions
hg: unknown command 'qdel'
'qdelete' is provided by the following extension:

    mq  manage a stack of patches

use "hg help extensions" for information on enabling extensions
hg: unknown command 'churn'
'churn' is provided by the following extension:

    churn  command to display statistics about repository history

use "hg help extensions" for information on enabling extensions
% disabled extensions
churn extension - command to display statistics about repository history

use "hg help extensions" for information on enabling extensions
patchbomb extension - command to send changesets as (a series of) patch emails

use "hg help extensions" for information on enabling extensions
% broken disabled extension and command
broken extension - (no help text available)

use "hg help extensions" for information on enabling extensions
hg: unknown command 'foo'