tests/test-empty-group
author Martin Geisler <mg@lazybytes.net>
Sat, 29 Aug 2009 00:29:16 +0200
changeset 9410 1c83938b6a8e
parent 4659 7a7d4937272b
child 12156 4c94b6d0fb1c
permissions -rwxr-xr-x
extensions: load and configure extensions in well-defined phases Extensions are now loaded with a call-graph like this: dispatch._dispatch extensions.loadall extensions.load # add foo module to extensions._extensions extensions.load # add bar module to extensions._extensions foo.uisetup(ui) bar.uisetup(ui) foo.extsetup() bar.extsetup() commands.table.update(foo.cmdtable) commands.table.update(bar.cmdtable) hg.repository foo.reposetup(ui, repo) bar.reposetup(ui, repo) The uisetup calls could easily be moved out to dispatch._dispatch, but have been kept in extensions.loadall since at least TortoiseHg calls extensions.loadall and expects it to call uisetup. The extensions.load function called uisetup. It now has an unused ui argument which has been kept for backwards compatibility.

#!/bin/sh
#
#  A          B
#
#  3  4       3
#  |\/|       |\
#  |/\|       | \
#  1  2       1  2
#  \ /        \ /
#   0          0
#
# if the result of the merge of 1 and 2
# is the same in 3 and 4, no new manifest
# will be created and the manifest group
# will be empty during the pull
#
# (plus we test a failure where outgoing
# wrongly reported the number of csets)
#

hg init a
cd a
touch init
hg ci -A -m 0 -d "1000000 0"
touch x y
hg ci -A -m 1 -d "1000000 0"
hg update 0
touch x y
hg ci -A -m 2 -d "1000000 0"
hg merge 1
hg ci -A -m m1 -d "1000000 0"
#hg log
#hg debugindex .hg/store/00manifest.i
hg update -C 1
hg merge 2
hg ci -A -m m2 -d "1000000 0"
#hg log
#hg debugindex .hg/store/00manifest.i

cd ..
hg clone -r 3 a b
hg clone -r 4 a c
hg -R a outgoing b
hg -R a outgoing c
hg -R b outgoing c
hg -R c outgoing b

hg -R b pull a
hg -R c pull a