Rev 6319: (gz) Move merge_type_registry from bzrlib.options to bzrlib.merge (Martin in file:///srv/pqm.bazaar-vcs.org/archives/thelove/bzr/%2Btrunk/
Patch Queue Manager
pqm at pqm.ubuntu.com
Mon Nov 28 19:47:50 UTC 2011
At file:///srv/pqm.bazaar-vcs.org/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 6319 [merge]
revision-id: pqm at pqm.ubuntu.com-20111128194749-ngknllszanig1epd
parent: pqm at pqm.ubuntu.com-20111128162949-cx0obntgfj3rzhgr
parent: martin.packman at canonical.com-20111128192207-4o6r6wiugbolw3nf
committer: Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Mon 2011-11-28 19:47:49 +0000
message:
(gz) Move merge_type_registry from bzrlib.options to bzrlib.merge (Martin
Packman)
modified:
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/option.py option.py-20051014052914-661fb36e76e7362f
bzrlib/tests/per_merger.py per_merger.py-20091216002111-bzeo6wx2tcfpuj67-1
doc/en/release-notes/bzr-2.5.txt bzr2.5.txt-20110708125756-587p0hpw7oke4h05-1
=== modified file 'bzrlib/merge.py'
--- a/bzrlib/merge.py 2011-10-27 15:38:14 +0000
+++ b/bzrlib/merge.py 2011-11-28 19:07:58 +0000
@@ -44,6 +44,7 @@
decorators,
errors,
hooks,
+ registry,
)
from bzrlib.symbol_versioning import (
deprecated_in,
@@ -2038,13 +2039,24 @@
merger.set_base_revision(get_revision_id(), this_branch)
return merger.do_merge()
+
+merge_type_registry = registry.Registry()
+merge_type_registry.register('diff3', Diff3Merger,
+ "Merge using external diff3.")
+merge_type_registry.register('lca', LCAMerger,
+ "LCA-newness merge.")
+merge_type_registry.register('merge3', Merge3Merger,
+ "Native diff3-style merge.")
+merge_type_registry.register('weave', WeaveMerger,
+ "Weave-based merge.")
+
+
def get_merge_type_registry():
- """Merge type registry is in bzrlib.option to avoid circular imports.
+ """Merge type registry was previously in bzrlib.option
- This method provides a sanctioned way to retrieve it.
+ This method provides a backwards compatible way to retrieve it.
"""
- from bzrlib import option
- return option._merge_type_registry
+ return merge_type_registry
def _plan_annotate_merge(annotated_a, annotated_b, ancestors_a, ancestors_b):
=== modified file 'bzrlib/option.py'
--- a/bzrlib/option.py 2011-11-23 18:59:43 +0000
+++ b/bzrlib/option.py 2011-11-28 19:07:58 +0000
@@ -519,21 +519,6 @@
_verbosity_level = -1
-class MergeTypeRegistry(_mod_registry.Registry):
-
- pass
-
-
-_merge_type_registry = MergeTypeRegistry()
-_merge_type_registry.register_lazy('diff3', 'bzrlib.merge', 'Diff3Merger',
- "Merge using external diff3.")
-_merge_type_registry.register_lazy('lca', 'bzrlib.merge', 'LCAMerger',
- "LCA-newness merge.")
-_merge_type_registry.register_lazy('merge3', 'bzrlib.merge', 'Merge3Merger',
- "Native diff3-style merge.")
-_merge_type_registry.register_lazy('weave', 'bzrlib.merge', 'WeaveMerger',
- "Weave-based merge.")
-
# Declare the standard options
_standard_option('help', short_name='h',
help='Show help message.')
@@ -560,8 +545,8 @@
value_switches=True, title='Log format',
short_value_switches={'short': 'S'})
_global_registry_option('merge-type', 'Select a particular merge algorithm.',
- _merge_type_registry, value_switches=True,
- title='Merge algorithm')
+ lazy_registry=('bzrlib.merge', 'merge_type_registry'),
+ value_switches=True, title='Merge algorithm')
_global_option('message', type=unicode,
short_name='m',
help='Message string.')
=== modified file 'bzrlib/tests/per_merger.py'
--- a/bzrlib/tests/per_merger.py 2011-01-12 01:01:53 +0000
+++ b/bzrlib/tests/per_merger.py 2011-11-28 19:22:07 +0000
@@ -22,7 +22,6 @@
from bzrlib import (
errors,
merge as _mod_merge,
- option,
)
from bzrlib.tests import (
multiply_tests,
@@ -38,7 +37,7 @@
result = loader.suiteClass()
scenarios = [
(name, {'merge_type': merger})
- for name, merger in option._merge_type_registry.items()]
+ for name, merger in _mod_merge.merge_type_registry.items()]
return multiply_tests(standard_tests, scenarios, result)
=== modified file 'doc/en/release-notes/bzr-2.5.txt'
--- a/doc/en/release-notes/bzr-2.5.txt 2011-11-28 15:59:39 +0000
+++ b/doc/en/release-notes/bzr-2.5.txt 2011-11-28 19:14:01 +0000
@@ -144,6 +144,9 @@
using the ``error_translators`` and ``no_context_error_translators``
registries. (Jelmer Vernooij)
+* The registry of merge types has been moved to ``merge`` from ``option`` but
+ ``merge.get_merge_type_registry`` remains as an accessor. (Martin Packman)
+
Testing
*******
More information about the bazaar-commits
mailing list