##// END OF EJS Templates
extensions: register functions always at loading extension (issue5601)...
extensions: register functions always at loading extension (issue5601) Before this patch, functions defined in extensions are registered via extra loaders only in _dispatch(). Therefore, loading extensions in other code paths like below omits registration of functions. - WSGI service - operation across repositories (e.g. subrepo) - test-duplicateoptions.py, using extensions.loadall() directly To register functions always at loading new extension, this patch moves implementation for extra loading from dispatch._dispatch() to extensions.loadall(). AFAIK, only commands module causes cyclic dependency between extensions module, but this patch imports all related modules just before extra loading in loadall(), in order to centralize them. This patch makes extensions.py depend on many other modules, even though extensions.py itself doesn't. It should be avoided if possible, but I don't have any better idea. Some other places like below aren't reasonable for extra loading, IMHO. - specific function in newly added module: existing callers of extensions.loadall() should invoke it, too - hg.repository() or so: no-repo commands aren't covered by this. BTW, this patch removes _loaded.add(name) on relocation, because dispatch._loaded is used only for extraloaders (for similar reason, "exts" variable is removed, too).

File last commit:

r22502:e6e7ef68 merge default
r33052:45b0e9d0 default
Show More
test-changelog-exec.t
57 lines | 1.1 KiB | text/troff | Tads3Lexer
/ tests / test-changelog-exec.t
Matt Mackall
tests: replace exit 80 with #require
r22046 #require execbit
Martin Geisler
tests: unify test-changelog-exec
r11875 b51a8138292a introduced a regression where we would mention in the
changelog executable files added by the second parent of a merge. Test
that that doesn't happen anymore
$ hg init repo
$ cd repo
$ echo foo > foo
$ hg ci -qAm 'add foo'
$ echo bar > bar
$ chmod +x bar
$ hg ci -qAm 'add bar'
manifest of p2:
$ hg manifest
bar
foo
$ hg up -qC 0
$ echo >> foo
$ hg ci -m 'change foo'
created new head
manifest of p1:
$ hg manifest
foo
$ hg merge
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Matt Mackall
commit: catch changed exec bit on files from p1 (issue4382)
r22492 $ chmod +x foo
Martin Geisler
tests: unify test-changelog-exec
r11875 $ hg ci -m 'merge'
Matt Mackall
commit: catch changed exec bit on files from p1 (issue4382)
r22492 this should not mention bar but should mention foo:
Martin Geisler
tests: unify test-changelog-exec
r11875
$ hg tip -v
Matt Mackall
commit: catch changed exec bit on files from p1 (issue4382)
r22492 changeset: 3:c53d17ff3380
Martin Geisler
tests: unify test-changelog-exec
r11875 tag: tip
parent: 2:ed1b79f46b9a
parent: 1:d394a8db219b
user: test
date: Thu Jan 01 00:00:00 1970 +0000
Matt Mackall
commit: catch changed exec bit on files from p1 (issue4382)
r22492 files: foo
Martin Geisler
tests: unify test-changelog-exec
r11875 description:
merge
Sune Foldager
tests: fix deprecated use of hg debugdata/debugindex...
r14182 $ hg debugindex bar
Bryan O'Sullivan
tests: reduce spurious failures when run with generaldelta...
r17132 rev offset length ..... linkrev nodeid p1 p2 (re)
0 0 5 ..... 1 b004912a8510 000000000000 000000000000 (re)
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..