Show More
@@ -0,0 +1,42 b'' | |||
|
1 | #!/bin/sh | |
|
2 | # Test basic extension support | |
|
3 | ||
|
4 | cat > foobar.py <<EOF | |
|
5 | import os | |
|
6 | from mercurial import commands | |
|
7 | ||
|
8 | def uisetup(ui): | |
|
9 | ui.write("uisetup called\\n") | |
|
10 | ||
|
11 | def reposetup(ui, repo): | |
|
12 | ui.write("reposetup called for %s\\n" % os.path.basename(repo.root)) | |
|
13 | ||
|
14 | def foo(ui, *args, **kwargs): | |
|
15 | ui.write("Foo\\n") | |
|
16 | ||
|
17 | def bar(ui, *args, **kwargs): | |
|
18 | ui.write("Bar\\n") | |
|
19 | ||
|
20 | cmdtable = { | |
|
21 | "foo": (foo, [], "hg foo"), | |
|
22 | "bar": (bar, [], "hg bar"), | |
|
23 | } | |
|
24 | ||
|
25 | commands.norepo += ' bar' | |
|
26 | EOF | |
|
27 | abspath=`pwd`/foobar.py | |
|
28 | ||
|
29 | hg init a | |
|
30 | cd a | |
|
31 | echo foo > file | |
|
32 | hg add file | |
|
33 | hg commit -m 'add file' | |
|
34 | ||
|
35 | echo '[extensions]' >> $HGRCPATH | |
|
36 | echo "foobar = $abspath" >> $HGRCPATH | |
|
37 | hg foo | |
|
38 | ||
|
39 | cd .. | |
|
40 | hg clone a b | |
|
41 | ||
|
42 | hg bar |
@@ -0,0 +1,9 b'' | |||
|
1 | uisetup called | |
|
2 | reposetup called for a | |
|
3 | Foo | |
|
4 | uisetup called | |
|
5 | reposetup called for a | |
|
6 | reposetup called for b | |
|
7 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
|
8 | uisetup called | |
|
9 | Bar |
@@ -3106,6 +3106,9 b' def load_extensions(ui):' | |||
|
3106 | 3106 | uisetup = getattr(mod, 'uisetup', None) |
|
3107 | 3107 | if uisetup: |
|
3108 | 3108 | uisetup(ui) |
|
3109 | reposetup = getattr(mod, 'reposetup', None) | |
|
3110 | if reposetup: | |
|
3111 | hg.repo_setup_hooks.append(reposetup) | |
|
3109 | 3112 | cmdtable = getattr(mod, 'cmdtable', {}) |
|
3110 | 3113 | for t in cmdtable: |
|
3111 | 3114 | if t in table: |
@@ -3188,11 +3191,6 b' def dispatch(args):' | |||
|
3188 | 3191 | if not repo: |
|
3189 | 3192 | repo = hg.repository(u, path=path) |
|
3190 | 3193 | u = repo.ui |
|
3191 | for name in external.itervalues(): | |
|
3192 | mod = sys.modules[name] | |
|
3193 | if hasattr(mod, 'reposetup'): | |
|
3194 | mod.reposetup(u, repo) | |
|
3195 | hg.repo_setup_hooks.append(mod.reposetup) | |
|
3196 | 3194 | except hg.RepoError: |
|
3197 | 3195 | if cmd not in optionalrepo.split(): |
|
3198 | 3196 | raise |
General Comments 0
You need to be logged in to leave comments.
Login now