##// END OF EJS Templates
tests: don't run couple of tests related to extensions loading with chg...
Pulkit Goyal -
r45109:8cab8db5 default
parent child Browse files
Show More
@@ -1,165 +1,166 b''
1 #require no-chg
1 $ filterlog () {
2 $ filterlog () {
2 > sed -e 's!^[0-9/]* [0-9:]* ([0-9]*)>!YYYY/MM/DD HH:MM:SS (PID)>!'
3 > sed -e 's!^[0-9/]* [0-9:]* ([0-9]*)>!YYYY/MM/DD HH:MM:SS (PID)>!'
3 > }
4 > }
4
5
5 ensure that failing ui.atexit handlers report sensibly
6 ensure that failing ui.atexit handlers report sensibly
6
7
7 $ cat > $TESTTMP/bailatexit.py <<EOF
8 $ cat > $TESTTMP/bailatexit.py <<EOF
8 > from mercurial import util
9 > from mercurial import util
9 > def bail():
10 > def bail():
10 > raise RuntimeError('ui.atexit handler exception')
11 > raise RuntimeError('ui.atexit handler exception')
11 >
12 >
12 > def extsetup(ui):
13 > def extsetup(ui):
13 > ui.atexit(bail)
14 > ui.atexit(bail)
14 > EOF
15 > EOF
15 $ hg -q --config extensions.bailatexit=$TESTTMP/bailatexit.py \
16 $ hg -q --config extensions.bailatexit=$TESTTMP/bailatexit.py \
16 > help help
17 > help help
17 hg help [-eck] [-s PLATFORM] [TOPIC]
18 hg help [-eck] [-s PLATFORM] [TOPIC]
18
19
19 show help for a given topic or a help overview
20 show help for a given topic or a help overview
20 error in exit handlers:
21 error in exit handlers:
21 Traceback (most recent call last):
22 Traceback (most recent call last):
22 File "*/mercurial/dispatch.py", line *, in _runexithandlers (glob)
23 File "*/mercurial/dispatch.py", line *, in _runexithandlers (glob)
23 func(*args, **kwargs)
24 func(*args, **kwargs)
24 File "$TESTTMP/bailatexit.py", line *, in bail (glob)
25 File "$TESTTMP/bailatexit.py", line *, in bail (glob)
25 raise RuntimeError('ui.atexit handler exception')
26 raise RuntimeError('ui.atexit handler exception')
26 RuntimeError: ui.atexit handler exception
27 RuntimeError: ui.atexit handler exception
27 [255]
28 [255]
28
29
29 $ rm $TESTTMP/bailatexit.py
30 $ rm $TESTTMP/bailatexit.py
30
31
31 another bad extension
32 another bad extension
32
33
33 $ echo 'raise Exception("bit bucket overflow")' > badext.py
34 $ echo 'raise Exception("bit bucket overflow")' > badext.py
34 $ abspathexc=`pwd`/badext.py
35 $ abspathexc=`pwd`/badext.py
35
36
36 $ cat >baddocext.py <<EOF
37 $ cat >baddocext.py <<EOF
37 > """
38 > """
38 > baddocext is bad
39 > baddocext is bad
39 > """
40 > """
40 > EOF
41 > EOF
41 $ abspathdoc=`pwd`/baddocext.py
42 $ abspathdoc=`pwd`/baddocext.py
42
43
43 $ cat <<EOF >> $HGRCPATH
44 $ cat <<EOF >> $HGRCPATH
44 > [extensions]
45 > [extensions]
45 > gpg =
46 > gpg =
46 > hgext.gpg =
47 > hgext.gpg =
47 > badext = $abspathexc
48 > badext = $abspathexc
48 > baddocext = $abspathdoc
49 > baddocext = $abspathdoc
49 > badext2 =
50 > badext2 =
50 > EOF
51 > EOF
51
52
52 $ hg -q help help 2>&1 |grep extension
53 $ hg -q help help 2>&1 |grep extension
53 *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
54 *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
54 *** failed to import extension badext2: No module named *badext2* (glob)
55 *** failed to import extension badext2: No module named *badext2* (glob)
55
56
56 show traceback
57 show traceback
57
58
58 $ hg -q help help --traceback 2>&1 | egrep ' extension|^Exception|Traceback|ImportError|ModuleNotFound'
59 $ hg -q help help --traceback 2>&1 | egrep ' extension|^Exception|Traceback|ImportError|ModuleNotFound'
59 *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
60 *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
60 Traceback (most recent call last):
61 Traceback (most recent call last):
61 Exception: bit bucket overflow
62 Exception: bit bucket overflow
62 *** failed to import extension badext2: No module named *badext2* (glob)
63 *** failed to import extension badext2: No module named *badext2* (glob)
63 Traceback (most recent call last):
64 Traceback (most recent call last):
64 ImportError: No module named badext2 (no-py3 !)
65 ImportError: No module named badext2 (no-py3 !)
65 ImportError: No module named 'hgext.badext2' (py3 no-py36 !)
66 ImportError: No module named 'hgext.badext2' (py3 no-py36 !)
66 ModuleNotFoundError: No module named 'hgext.badext2' (py36 !)
67 ModuleNotFoundError: No module named 'hgext.badext2' (py36 !)
67 Traceback (most recent call last): (py3 !)
68 Traceback (most recent call last): (py3 !)
68 ImportError: No module named 'hgext3rd.badext2' (py3 no-py36 !)
69 ImportError: No module named 'hgext3rd.badext2' (py3 no-py36 !)
69 ModuleNotFoundError: No module named 'hgext3rd.badext2' (py36 !)
70 ModuleNotFoundError: No module named 'hgext3rd.badext2' (py36 !)
70 Traceback (most recent call last): (py3 !)
71 Traceback (most recent call last): (py3 !)
71 ImportError: No module named 'badext2' (py3 no-py36 !)
72 ImportError: No module named 'badext2' (py3 no-py36 !)
72 ModuleNotFoundError: No module named 'badext2' (py36 !)
73 ModuleNotFoundError: No module named 'badext2' (py36 !)
73
74
74 names of extensions failed to load can be accessed via extensions.notloaded()
75 names of extensions failed to load can be accessed via extensions.notloaded()
75
76
76 $ cat <<EOF > showbadexts.py
77 $ cat <<EOF > showbadexts.py
77 > from mercurial import commands, extensions, registrar
78 > from mercurial import commands, extensions, registrar
78 > cmdtable = {}
79 > cmdtable = {}
79 > command = registrar.command(cmdtable)
80 > command = registrar.command(cmdtable)
80 > @command(b'showbadexts', norepo=True)
81 > @command(b'showbadexts', norepo=True)
81 > def showbadexts(ui, *pats, **opts):
82 > def showbadexts(ui, *pats, **opts):
82 > ui.write(b'BADEXTS: %s\n' % b' '.join(sorted(extensions.notloaded())))
83 > ui.write(b'BADEXTS: %s\n' % b' '.join(sorted(extensions.notloaded())))
83 > EOF
84 > EOF
84 $ hg --config extensions.badexts=showbadexts.py showbadexts 2>&1 | grep '^BADEXTS'
85 $ hg --config extensions.badexts=showbadexts.py showbadexts 2>&1 | grep '^BADEXTS'
85 BADEXTS: badext badext2
86 BADEXTS: badext badext2
86
87
87 #if no-extraextensions
88 #if no-extraextensions
88 show traceback for ImportError of hgext.name if devel.debug.extensions is set
89 show traceback for ImportError of hgext.name if devel.debug.extensions is set
89
90
90 $ (hg help help --traceback --debug --config devel.debug.extensions=yes 2>&1) \
91 $ (hg help help --traceback --debug --config devel.debug.extensions=yes 2>&1) \
91 > | grep -v '^ ' \
92 > | grep -v '^ ' \
92 > | filterlog \
93 > | filterlog \
93 > | egrep 'extension..[^p]|^Exception|Traceback|ImportError|^YYYY|not import|ModuleNotFound'
94 > | egrep 'extension..[^p]|^Exception|Traceback|ImportError|^YYYY|not import|ModuleNotFound'
94 YYYY/MM/DD HH:MM:SS (PID)> loading extensions
95 YYYY/MM/DD HH:MM:SS (PID)> loading extensions
95 YYYY/MM/DD HH:MM:SS (PID)> - processing 5 entries
96 YYYY/MM/DD HH:MM:SS (PID)> - processing 5 entries
96 YYYY/MM/DD HH:MM:SS (PID)> - loading extension: gpg
97 YYYY/MM/DD HH:MM:SS (PID)> - loading extension: gpg
97 YYYY/MM/DD HH:MM:SS (PID)> > gpg extension loaded in * (glob)
98 YYYY/MM/DD HH:MM:SS (PID)> > gpg extension loaded in * (glob)
98 YYYY/MM/DD HH:MM:SS (PID)> - validating extension tables: gpg
99 YYYY/MM/DD HH:MM:SS (PID)> - validating extension tables: gpg
99 YYYY/MM/DD HH:MM:SS (PID)> - invoking registered callbacks: gpg
100 YYYY/MM/DD HH:MM:SS (PID)> - invoking registered callbacks: gpg
100 YYYY/MM/DD HH:MM:SS (PID)> > callbacks completed in * (glob)
101 YYYY/MM/DD HH:MM:SS (PID)> > callbacks completed in * (glob)
101 YYYY/MM/DD HH:MM:SS (PID)> - loading extension: badext
102 YYYY/MM/DD HH:MM:SS (PID)> - loading extension: badext
102 *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
103 *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
103 Traceback (most recent call last):
104 Traceback (most recent call last):
104 Exception: bit bucket overflow
105 Exception: bit bucket overflow
105 YYYY/MM/DD HH:MM:SS (PID)> - loading extension: baddocext
106 YYYY/MM/DD HH:MM:SS (PID)> - loading extension: baddocext
106 YYYY/MM/DD HH:MM:SS (PID)> > baddocext extension loaded in * (glob)
107 YYYY/MM/DD HH:MM:SS (PID)> > baddocext extension loaded in * (glob)
107 YYYY/MM/DD HH:MM:SS (PID)> - validating extension tables: baddocext
108 YYYY/MM/DD HH:MM:SS (PID)> - validating extension tables: baddocext
108 YYYY/MM/DD HH:MM:SS (PID)> - invoking registered callbacks: baddocext
109 YYYY/MM/DD HH:MM:SS (PID)> - invoking registered callbacks: baddocext
109 YYYY/MM/DD HH:MM:SS (PID)> > callbacks completed in * (glob)
110 YYYY/MM/DD HH:MM:SS (PID)> > callbacks completed in * (glob)
110 YYYY/MM/DD HH:MM:SS (PID)> - loading extension: badext2
111 YYYY/MM/DD HH:MM:SS (PID)> - loading extension: badext2
111 YYYY/MM/DD HH:MM:SS (PID)> - could not import hgext.badext2 (No module named *badext2*): trying hgext3rd.badext2 (glob)
112 YYYY/MM/DD HH:MM:SS (PID)> - could not import hgext.badext2 (No module named *badext2*): trying hgext3rd.badext2 (glob)
112 Traceback (most recent call last):
113 Traceback (most recent call last):
113 ImportError: No module named badext2 (no-py3 !)
114 ImportError: No module named badext2 (no-py3 !)
114 ImportError: No module named 'hgext.badext2' (py3 no-py36 !)
115 ImportError: No module named 'hgext.badext2' (py3 no-py36 !)
115 ModuleNotFoundError: No module named 'hgext.badext2' (py36 !)
116 ModuleNotFoundError: No module named 'hgext.badext2' (py36 !)
116 YYYY/MM/DD HH:MM:SS (PID)> - could not import hgext3rd.badext2 (No module named *badext2*): trying badext2 (glob)
117 YYYY/MM/DD HH:MM:SS (PID)> - could not import hgext3rd.badext2 (No module named *badext2*): trying badext2 (glob)
117 Traceback (most recent call last):
118 Traceback (most recent call last):
118 ImportError: No module named badext2 (no-py3 !)
119 ImportError: No module named badext2 (no-py3 !)
119 ImportError: No module named 'hgext.badext2' (py3 no-py36 !)
120 ImportError: No module named 'hgext.badext2' (py3 no-py36 !)
120 ModuleNotFoundError: No module named 'hgext.badext2' (py36 !)
121 ModuleNotFoundError: No module named 'hgext.badext2' (py36 !)
121 Traceback (most recent call last): (py3 !)
122 Traceback (most recent call last): (py3 !)
122 ImportError: No module named 'hgext3rd.badext2' (py3 no-py36 !)
123 ImportError: No module named 'hgext3rd.badext2' (py3 no-py36 !)
123 ModuleNotFoundError: No module named 'hgext3rd.badext2' (py36 !)
124 ModuleNotFoundError: No module named 'hgext3rd.badext2' (py36 !)
124 *** failed to import extension badext2: No module named *badext2* (glob)
125 *** failed to import extension badext2: No module named *badext2* (glob)
125 Traceback (most recent call last):
126 Traceback (most recent call last):
126 ImportError: No module named 'hgext.badext2' (py3 no-py36 !)
127 ImportError: No module named 'hgext.badext2' (py3 no-py36 !)
127 ModuleNotFoundError: No module named 'hgext.badext2' (py36 !)
128 ModuleNotFoundError: No module named 'hgext.badext2' (py36 !)
128 Traceback (most recent call last): (py3 !)
129 Traceback (most recent call last): (py3 !)
129 ImportError: No module named 'hgext3rd.badext2' (py3 no-py36 !)
130 ImportError: No module named 'hgext3rd.badext2' (py3 no-py36 !)
130 ModuleNotFoundError: No module named 'hgext3rd.badext2' (py36 !)
131 ModuleNotFoundError: No module named 'hgext3rd.badext2' (py36 !)
131 Traceback (most recent call last): (py3 !)
132 Traceback (most recent call last): (py3 !)
132 ModuleNotFoundError: No module named 'badext2' (py36 !)
133 ModuleNotFoundError: No module named 'badext2' (py36 !)
133 ImportError: No module named 'badext2' (py3 no-py36 !)
134 ImportError: No module named 'badext2' (py3 no-py36 !)
134 ImportError: No module named badext2 (no-py3 !)
135 ImportError: No module named badext2 (no-py3 !)
135 YYYY/MM/DD HH:MM:SS (PID)> > loaded 2 extensions, total time * (glob)
136 YYYY/MM/DD HH:MM:SS (PID)> > loaded 2 extensions, total time * (glob)
136 YYYY/MM/DD HH:MM:SS (PID)> - loading configtable attributes
137 YYYY/MM/DD HH:MM:SS (PID)> - loading configtable attributes
137 YYYY/MM/DD HH:MM:SS (PID)> - executing uisetup hooks
138 YYYY/MM/DD HH:MM:SS (PID)> - executing uisetup hooks
138 YYYY/MM/DD HH:MM:SS (PID)> - running uisetup for gpg
139 YYYY/MM/DD HH:MM:SS (PID)> - running uisetup for gpg
139 YYYY/MM/DD HH:MM:SS (PID)> > uisetup for gpg took * (glob)
140 YYYY/MM/DD HH:MM:SS (PID)> > uisetup for gpg took * (glob)
140 YYYY/MM/DD HH:MM:SS (PID)> - running uisetup for baddocext
141 YYYY/MM/DD HH:MM:SS (PID)> - running uisetup for baddocext
141 YYYY/MM/DD HH:MM:SS (PID)> > uisetup for baddocext took * (glob)
142 YYYY/MM/DD HH:MM:SS (PID)> > uisetup for baddocext took * (glob)
142 YYYY/MM/DD HH:MM:SS (PID)> > all uisetup took * (glob)
143 YYYY/MM/DD HH:MM:SS (PID)> > all uisetup took * (glob)
143 YYYY/MM/DD HH:MM:SS (PID)> - executing extsetup hooks
144 YYYY/MM/DD HH:MM:SS (PID)> - executing extsetup hooks
144 YYYY/MM/DD HH:MM:SS (PID)> - running extsetup for gpg
145 YYYY/MM/DD HH:MM:SS (PID)> - running extsetup for gpg
145 YYYY/MM/DD HH:MM:SS (PID)> > extsetup for gpg took * (glob)
146 YYYY/MM/DD HH:MM:SS (PID)> > extsetup for gpg took * (glob)
146 YYYY/MM/DD HH:MM:SS (PID)> - running extsetup for baddocext
147 YYYY/MM/DD HH:MM:SS (PID)> - running extsetup for baddocext
147 YYYY/MM/DD HH:MM:SS (PID)> > extsetup for baddocext took * (glob)
148 YYYY/MM/DD HH:MM:SS (PID)> > extsetup for baddocext took * (glob)
148 YYYY/MM/DD HH:MM:SS (PID)> > all extsetup took * (glob)
149 YYYY/MM/DD HH:MM:SS (PID)> > all extsetup took * (glob)
149 YYYY/MM/DD HH:MM:SS (PID)> - executing remaining aftercallbacks
150 YYYY/MM/DD HH:MM:SS (PID)> - executing remaining aftercallbacks
150 YYYY/MM/DD HH:MM:SS (PID)> > remaining aftercallbacks completed in * (glob)
151 YYYY/MM/DD HH:MM:SS (PID)> > remaining aftercallbacks completed in * (glob)
151 YYYY/MM/DD HH:MM:SS (PID)> - loading extension registration objects
152 YYYY/MM/DD HH:MM:SS (PID)> - loading extension registration objects
152 YYYY/MM/DD HH:MM:SS (PID)> > extension registration object loading took * (glob)
153 YYYY/MM/DD HH:MM:SS (PID)> > extension registration object loading took * (glob)
153 YYYY/MM/DD HH:MM:SS (PID)> > extension baddocext take a total of * to load (glob)
154 YYYY/MM/DD HH:MM:SS (PID)> > extension baddocext take a total of * to load (glob)
154 YYYY/MM/DD HH:MM:SS (PID)> > extension gpg take a total of * to load (glob)
155 YYYY/MM/DD HH:MM:SS (PID)> > extension gpg take a total of * to load (glob)
155 YYYY/MM/DD HH:MM:SS (PID)> extension loading complete
156 YYYY/MM/DD HH:MM:SS (PID)> extension loading complete
156 #endif
157 #endif
157
158
158 confirm that there's no crash when an extension's documentation is bad
159 confirm that there's no crash when an extension's documentation is bad
159
160
160 $ hg help --keyword baddocext
161 $ hg help --keyword baddocext
161 *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
162 *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
162 *** failed to import extension badext2: No module named *badext2* (glob)
163 *** failed to import extension badext2: No module named *badext2* (glob)
163 Topics:
164 Topics:
164
165
165 extensions Using Additional Features
166 extensions Using Additional Features
@@ -1,100 +1,102 b''
1 #require no-chg
2
1 Test basic extension support
3 Test basic extension support
2
4
3 $ cat > foobar.py <<EOF
5 $ cat > foobar.py <<EOF
4 > import os
6 > import os
5 > from mercurial import commands, registrar
7 > from mercurial import commands, registrar
6 > cmdtable = {}
8 > cmdtable = {}
7 > command = registrar.command(cmdtable)
9 > command = registrar.command(cmdtable)
8 > configtable = {}
10 > configtable = {}
9 > configitem = registrar.configitem(configtable)
11 > configitem = registrar.configitem(configtable)
10 > configitem(b'tests', b'foo', default=b"Foo")
12 > configitem(b'tests', b'foo', default=b"Foo")
11 > def uisetup(ui):
13 > def uisetup(ui):
12 > ui.debug(b"uisetup called [debug]\\n")
14 > ui.debug(b"uisetup called [debug]\\n")
13 > ui.write(b"uisetup called\\n")
15 > ui.write(b"uisetup called\\n")
14 > ui.status(b"uisetup called [status]\\n")
16 > ui.status(b"uisetup called [status]\\n")
15 > ui.flush()
17 > ui.flush()
16 > def reposetup(ui, repo):
18 > def reposetup(ui, repo):
17 > ui.write(b"reposetup called for %s\\n" % os.path.basename(repo.root))
19 > ui.write(b"reposetup called for %s\\n" % os.path.basename(repo.root))
18 > ui.write(b"ui %s= repo.ui\\n" % (ui == repo.ui and b"=" or b"!"))
20 > ui.write(b"ui %s= repo.ui\\n" % (ui == repo.ui and b"=" or b"!"))
19 > ui.flush()
21 > ui.flush()
20 > @command(b'foo', [], b'hg foo')
22 > @command(b'foo', [], b'hg foo')
21 > def foo(ui, *args, **kwargs):
23 > def foo(ui, *args, **kwargs):
22 > foo = ui.config(b'tests', b'foo')
24 > foo = ui.config(b'tests', b'foo')
23 > ui.write(foo)
25 > ui.write(foo)
24 > ui.write(b"\\n")
26 > ui.write(b"\\n")
25 > @command(b'bar', [], b'hg bar', norepo=True)
27 > @command(b'bar', [], b'hg bar', norepo=True)
26 > def bar(ui, *args, **kwargs):
28 > def bar(ui, *args, **kwargs):
27 > ui.write(b"Bar\\n")
29 > ui.write(b"Bar\\n")
28 > EOF
30 > EOF
29 $ abspath=`pwd`/foobar.py
31 $ abspath=`pwd`/foobar.py
30
32
31 $ mkdir barfoo
33 $ mkdir barfoo
32 $ cp foobar.py barfoo/__init__.py
34 $ cp foobar.py barfoo/__init__.py
33 $ barfoopath=`pwd`/barfoo
35 $ barfoopath=`pwd`/barfoo
34
36
35 $ hg init a
37 $ hg init a
36 $ cd a
38 $ cd a
37 $ echo foo > file
39 $ echo foo > file
38 $ hg add file
40 $ hg add file
39 $ hg commit -m 'add file'
41 $ hg commit -m 'add file'
40
42
41 $ echo '[extensions]' >> $HGRCPATH
43 $ echo '[extensions]' >> $HGRCPATH
42 $ echo "foobar = $abspath" >> $HGRCPATH
44 $ echo "foobar = $abspath" >> $HGRCPATH
43
45
44 $ filterlog () {
46 $ filterlog () {
45 > sed -e 's!^[0-9/]* [0-9:]* ([0-9]*)>!YYYY/MM/DD HH:MM:SS (PID)>!'
47 > sed -e 's!^[0-9/]* [0-9:]* ([0-9]*)>!YYYY/MM/DD HH:MM:SS (PID)>!'
46 > }
48 > }
47
49
48 Test extension setup timings
50 Test extension setup timings
49
51
50 $ hg foo --traceback --config devel.debug.extensions=yes --debug 2>&1 | filterlog
52 $ hg foo --traceback --config devel.debug.extensions=yes --debug 2>&1 | filterlog
51 YYYY/MM/DD HH:MM:SS (PID)> loading extensions
53 YYYY/MM/DD HH:MM:SS (PID)> loading extensions
52 YYYY/MM/DD HH:MM:SS (PID)> - processing 1 entries
54 YYYY/MM/DD HH:MM:SS (PID)> - processing 1 entries
53 YYYY/MM/DD HH:MM:SS (PID)> - loading extension: foobar
55 YYYY/MM/DD HH:MM:SS (PID)> - loading extension: foobar
54 YYYY/MM/DD HH:MM:SS (PID)> > foobar extension loaded in * (glob)
56 YYYY/MM/DD HH:MM:SS (PID)> > foobar extension loaded in * (glob)
55 YYYY/MM/DD HH:MM:SS (PID)> - validating extension tables: foobar
57 YYYY/MM/DD HH:MM:SS (PID)> - validating extension tables: foobar
56 YYYY/MM/DD HH:MM:SS (PID)> - invoking registered callbacks: foobar
58 YYYY/MM/DD HH:MM:SS (PID)> - invoking registered callbacks: foobar
57 YYYY/MM/DD HH:MM:SS (PID)> > callbacks completed in * (glob)
59 YYYY/MM/DD HH:MM:SS (PID)> > callbacks completed in * (glob)
58 YYYY/MM/DD HH:MM:SS (PID)> > loaded 1 extensions, total time * (glob)
60 YYYY/MM/DD HH:MM:SS (PID)> > loaded 1 extensions, total time * (glob)
59 YYYY/MM/DD HH:MM:SS (PID)> - loading configtable attributes
61 YYYY/MM/DD HH:MM:SS (PID)> - loading configtable attributes
60 YYYY/MM/DD HH:MM:SS (PID)> - executing uisetup hooks
62 YYYY/MM/DD HH:MM:SS (PID)> - executing uisetup hooks
61 YYYY/MM/DD HH:MM:SS (PID)> - running uisetup for foobar
63 YYYY/MM/DD HH:MM:SS (PID)> - running uisetup for foobar
62 uisetup called [debug]
64 uisetup called [debug]
63 uisetup called
65 uisetup called
64 uisetup called [status]
66 uisetup called [status]
65 YYYY/MM/DD HH:MM:SS (PID)> > uisetup for foobar took * (glob)
67 YYYY/MM/DD HH:MM:SS (PID)> > uisetup for foobar took * (glob)
66 YYYY/MM/DD HH:MM:SS (PID)> > all uisetup took * (glob)
68 YYYY/MM/DD HH:MM:SS (PID)> > all uisetup took * (glob)
67 YYYY/MM/DD HH:MM:SS (PID)> - executing extsetup hooks
69 YYYY/MM/DD HH:MM:SS (PID)> - executing extsetup hooks
68 YYYY/MM/DD HH:MM:SS (PID)> - running extsetup for foobar
70 YYYY/MM/DD HH:MM:SS (PID)> - running extsetup for foobar
69 YYYY/MM/DD HH:MM:SS (PID)> > extsetup for foobar took * (glob)
71 YYYY/MM/DD HH:MM:SS (PID)> > extsetup for foobar took * (glob)
70 YYYY/MM/DD HH:MM:SS (PID)> > all extsetup took * (glob)
72 YYYY/MM/DD HH:MM:SS (PID)> > all extsetup took * (glob)
71 YYYY/MM/DD HH:MM:SS (PID)> - executing remaining aftercallbacks
73 YYYY/MM/DD HH:MM:SS (PID)> - executing remaining aftercallbacks
72 YYYY/MM/DD HH:MM:SS (PID)> > remaining aftercallbacks completed in * (glob)
74 YYYY/MM/DD HH:MM:SS (PID)> > remaining aftercallbacks completed in * (glob)
73 YYYY/MM/DD HH:MM:SS (PID)> - loading extension registration objects
75 YYYY/MM/DD HH:MM:SS (PID)> - loading extension registration objects
74 YYYY/MM/DD HH:MM:SS (PID)> > extension registration object loading took * (glob)
76 YYYY/MM/DD HH:MM:SS (PID)> > extension registration object loading took * (glob)
75 YYYY/MM/DD HH:MM:SS (PID)> > extension foobar take a total of * to load (glob)
77 YYYY/MM/DD HH:MM:SS (PID)> > extension foobar take a total of * to load (glob)
76 YYYY/MM/DD HH:MM:SS (PID)> extension loading complete
78 YYYY/MM/DD HH:MM:SS (PID)> extension loading complete
77 YYYY/MM/DD HH:MM:SS (PID)> loading additional extensions
79 YYYY/MM/DD HH:MM:SS (PID)> loading additional extensions
78 YYYY/MM/DD HH:MM:SS (PID)> - processing 1 entries
80 YYYY/MM/DD HH:MM:SS (PID)> - processing 1 entries
79 YYYY/MM/DD HH:MM:SS (PID)> > loaded 0 extensions, total time * (glob)
81 YYYY/MM/DD HH:MM:SS (PID)> > loaded 0 extensions, total time * (glob)
80 YYYY/MM/DD HH:MM:SS (PID)> - loading configtable attributes
82 YYYY/MM/DD HH:MM:SS (PID)> - loading configtable attributes
81 YYYY/MM/DD HH:MM:SS (PID)> - executing uisetup hooks
83 YYYY/MM/DD HH:MM:SS (PID)> - executing uisetup hooks
82 YYYY/MM/DD HH:MM:SS (PID)> > all uisetup took * (glob)
84 YYYY/MM/DD HH:MM:SS (PID)> > all uisetup took * (glob)
83 YYYY/MM/DD HH:MM:SS (PID)> - executing extsetup hooks
85 YYYY/MM/DD HH:MM:SS (PID)> - executing extsetup hooks
84 YYYY/MM/DD HH:MM:SS (PID)> > all extsetup took * (glob)
86 YYYY/MM/DD HH:MM:SS (PID)> > all extsetup took * (glob)
85 YYYY/MM/DD HH:MM:SS (PID)> - executing remaining aftercallbacks
87 YYYY/MM/DD HH:MM:SS (PID)> - executing remaining aftercallbacks
86 YYYY/MM/DD HH:MM:SS (PID)> > remaining aftercallbacks completed in * (glob)
88 YYYY/MM/DD HH:MM:SS (PID)> > remaining aftercallbacks completed in * (glob)
87 YYYY/MM/DD HH:MM:SS (PID)> - loading extension registration objects
89 YYYY/MM/DD HH:MM:SS (PID)> - loading extension registration objects
88 YYYY/MM/DD HH:MM:SS (PID)> > extension registration object loading took * (glob)
90 YYYY/MM/DD HH:MM:SS (PID)> > extension registration object loading took * (glob)
89 YYYY/MM/DD HH:MM:SS (PID)> extension loading complete
91 YYYY/MM/DD HH:MM:SS (PID)> extension loading complete
90 YYYY/MM/DD HH:MM:SS (PID)> - executing reposetup hooks
92 YYYY/MM/DD HH:MM:SS (PID)> - executing reposetup hooks
91 YYYY/MM/DD HH:MM:SS (PID)> - running reposetup for foobar
93 YYYY/MM/DD HH:MM:SS (PID)> - running reposetup for foobar
92 reposetup called for a
94 reposetup called for a
93 ui == repo.ui
95 ui == repo.ui
94 YYYY/MM/DD HH:MM:SS (PID)> > reposetup for foobar took * (glob)
96 YYYY/MM/DD HH:MM:SS (PID)> > reposetup for foobar took * (glob)
95 YYYY/MM/DD HH:MM:SS (PID)> > all reposetup took * (glob)
97 YYYY/MM/DD HH:MM:SS (PID)> > all reposetup took * (glob)
96 Foo
98 Foo
97
99
98 $ cd ..
100 $ cd ..
99
101
100 $ echo 'foobar = !' >> $HGRCPATH
102 $ echo 'foobar = !' >> $HGRCPATH
General Comments 0
You need to be logged in to leave comments. Login now