don't moan about out-of-date plugins
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
High
|
Martin Pool |
Bug Description
At the moment plugins specify the version of the bzrlib api that they need. If we can't satisfy the dependency, then we give a noisy warning and refuse to load it.
But this is in fact rather pedantic: many 2.3 plugins, even if not specifically tested with a later bzr version are still quite likely to work there.
So instead, for plugins that are out of date:
* remember this
* log it
* print it in apport crashes
* print it in non-apport crashes
* print it in `bzr plugins`
Then if there is an actual problem, users will get a clue that the plugin is out of date. If there is no actual problem, we won't annoy them.
We can also add a test saying "there are no out-of-date plugins" and that will remind developers to update the check.
Related branches
- Jelmer Vernooij (community): Approve
- Bazaar Developers: Pending requested
-
Diff: 332 lines (+119/-38)6 files modifiedbzrlib/builtins.py (+3/-20)
bzrlib/crash.py (+2/-6)
bzrlib/plugin.py (+54/-3)
bzrlib/tests/test_crash.py (+9/-0)
bzrlib/tests/test_plugins.py (+46/-9)
doc/en/release-notes/bzr-2.4.txt (+5/-0)
- bzr-core: Pending requested
-
Diff: 1763 lines (+877/-133)30 files modifiedbzr (+1/-1)
bzrlib/__init__.py (+2/-2)
bzrlib/branch.py (+1/-1)
bzrlib/builtins.py (+3/-20)
bzrlib/crash.py (+2/-6)
bzrlib/fetch.py (+27/-9)
bzrlib/graph.py (+182/-2)
bzrlib/plugin.py (+51/-3)
bzrlib/plugins/launchpad/lp_propose.py (+10/-8)
bzrlib/remote.py (+30/-9)
bzrlib/repofmt/knitrepo.py (+19/-11)
bzrlib/repofmt/weaverepo.py (+20/-11)
bzrlib/repository.py (+94/-18)
bzrlib/smart/repository.py (+16/-0)
bzrlib/smart/server.py (+1/-3)
bzrlib/tests/blackbox/test_serve.py (+7/-10)
bzrlib/tests/per_branch/test_push.py (+15/-0)
bzrlib/tests/per_interrepository/test_interrepository.py (+9/-2)
bzrlib/tests/per_repository_reference/test_fetch.py (+40/-1)
bzrlib/tests/test_crash.py (+9/-0)
bzrlib/tests/test_plugins.py (+18/-4)
bzrlib/tests/test_remote.py (+59/-4)
bzrlib/tests/test_repository.py (+1/-1)
bzrlib/tests/test_server.py (+0/-6)
bzrlib/tests/test_smart.py (+66/-1)
doc/developers/fetch.txt (+86/-0)
doc/developers/index.txt (+1/-0)
doc/en/release-notes/bzr-2.3.txt (+10/-0)
doc/en/release-notes/bzr-2.4.txt (+64/-0)
doc/en/whats-new/whats-new-in-2.4.txt (+33/-0)
Changed in bzr: | |
status: | Confirmed → In Progress |
description: | updated |
description: | updated |
summary: |
- plugins should specify recommended bzrlib version + don't moan about out-of-date plugins |
description: | updated |
Changed in bzr: | |
status: | In Progress → Fix Released |
Loading plugins even if their requested api version isn't present is just a bit non-trivial, because currently that's signaled by raising an exception, so I'll handle that separately: bug 704238.