Merge lp:~vila/bzr/82693-plugin-at-path into lp:bzr
Status: | Merged |
---|---|
Approved by: | Martin Pool |
Approved revision: | no longer in the source branch. |
Merged at revision: | not available |
Proposed branch: | lp:~vila/bzr/82693-plugin-at-path |
Merge into: | lp:bzr |
Prerequisite: | lp:~vila/bzr/411413-disable-plugin |
Diff against target: |
498 lines (+295/-77) (has conflicts) 5 files modified
NEWS (+10/-0) bzrlib/help_topics/en/configuration.txt (+30/-4) bzrlib/plugin.py (+161/-66) bzrlib/tests/__init__.py (+1/-0) bzrlib/tests/test_plugins.py (+93/-7) Text conflict in NEWS |
To merge this branch: | bzr merge lp:~vila/bzr/82693-plugin-at-path |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Martin Pool | Approve | ||
Review via email: mp+21547@code.launchpad.net |
Description of the change
This path fixes bug #82693 by introducing a BZR_PLUGINS_AT environment variable.
Doc excerpt:
+BZR_PLUGINS_AT
+~~~~~~~~~~~~~~
+
+When adding a new feature or working on a bug in a plugin,
+developers often need to use a specific version of a given
+plugin. Since python requires that the directory containing the
+code is named like the plugin itself this make it impossible to
+use arbitrary directory names (using a two-level directory scheme
+is inconvenient). ``BZR_PLUGINS_AT`` allows such directories even
+if they don't appear in ``BZR_PLUGIN_PATH`` .
+
+Plugins specified in this environment variable takes precedence
+over the ones in ``BZR_PLUGIN_
+
+The variable specified a list of ``plugin_
+``plugin_name`` being the name of the plugin as it appears in
+python module paths, ``plugin_path`` being the path to the
+directory containing the plugin code itself
+(i.e. ``plugins/
+separator, use ';' on windows.
This requires https:/
I've tested it against python2.4, 2.5 and 2.6 ans this seems robust enough there.
python3.1 introduces some simpler ways to achieve that but there is no urgency for that :)
This should assist plugin developers working on several branches in paralle.
This will be very usefull.
I tested it, and works as expected.