Merge lp:~jelmer/brz/yet-more-docs into lp:brz
- yet-more-docs
- Merge into trunk
Proposed by
Jelmer Vernooij
Status: | Merged |
---|---|
Approved by: | Jelmer Vernooij |
Approved revision: | no longer in the source branch. |
Merge reported by: | The Breezy Bot |
Merged at revision: | not available |
Proposed branch: | lp:~jelmer/brz/yet-more-docs |
Merge into: | lp:brz |
Diff against target: |
415 lines (+275/-44) 8 files modified
doc/developers/index-plain.txt (+2/-2) doc/developers/index.txt (+1/-1) doc/developers/plugin-api.txt (+2/-2) doc/developers/plugin-development.txt (+264/-0) doc/en/_templates/index.html (+2/-2) doc/en/tutorials/using_breezy_with_launchpad.txt (+0/-33) doc/en/user-guide/hooks.txt (+1/-1) doc/en/user-guide/writing_a_plugin.txt (+3/-3) |
To merge this branch: | bzr merge lp:~jelmer/brz/yet-more-docs |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Martin Packman | Approve | ||
Review via email: mp+359087@code.launchpad.net |
Commit message
Some more minor improvements to the docs.
Description of the change
Some more minor improvements to the docs:
* Fix links to glossary and developer docs
* Drop canonical-specific blurb from Launchpad tutorial
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'doc/developers/index-plain.txt' | |||
2 | --- doc/developers/index-plain.txt 2018-11-18 14:23:08 +0000 | |||
3 | +++ doc/developers/index-plain.txt 2018-11-22 02:24:44 +0000 | |||
4 | @@ -28,8 +28,8 @@ | |||
5 | 28 | 28 | ||
6 | 29 | * `Breezy Code Style Guide <code-style.html>`_. | 29 | * `Breezy Code Style Guide <code-style.html>`_. |
7 | 30 | 30 | ||
10 | 31 | * `Writing plugins <http://doc.bazaar.canonical.com/plugins/en/plugin-development.html>`_ | 31 | * `Writing plugins <plugin-development.html>`_ |
11 | 32 | |--| specific advice on writing Breezy plugins. (web link) | 32 | |--| specific advice on writing Breezy plugins. |
12 | 33 | 33 | ||
13 | 34 | * `Documenting changes <documenting-changes.html>`_. | 34 | * `Documenting changes <documenting-changes.html>`_. |
14 | 35 | 35 | ||
15 | 36 | 36 | ||
16 | === modified file 'doc/developers/index.txt' | |||
17 | --- doc/developers/index.txt 2018-11-18 14:23:08 +0000 | |||
18 | +++ doc/developers/index.txt 2018-11-22 02:24:44 +0000 | |||
19 | @@ -60,7 +60,7 @@ | |||
20 | 60 | overview | 60 | overview |
21 | 61 | integration | 61 | integration |
22 | 62 | 62 | ||
24 | 63 | * `Writing plugins for Breezy <http://doc.bazaar.canonical.com/plugins/en/plugin-development.html>`_ (web link) | 63 | * `Writing plugins for Breezy <plugin-development.txt>`_ |
25 | 64 | 64 | ||
26 | 65 | * `breezy API reference <api/index.txt>`_ | 65 | * `breezy API reference <api/index.txt>`_ |
27 | 66 | 66 | ||
28 | 67 | 67 | ||
29 | === modified file 'doc/developers/plugin-api.txt' | |||
30 | --- doc/developers/plugin-api.txt 2018-11-18 18:23:32 +0000 | |||
31 | +++ doc/developers/plugin-api.txt 2018-11-22 02:24:44 +0000 | |||
32 | @@ -23,7 +23,7 @@ | |||
33 | 23 | -------- | 23 | -------- |
34 | 24 | 24 | ||
35 | 25 | * `Breezy Developer Documentation Catalog <../index.html>`_. | 25 | * `Breezy Developer Documentation Catalog <../index.html>`_. |
37 | 26 | * `Breezy Plugins Guide <http://doc.bazaar.canonical.com/plugins/en/plugin-development.html>`_ for | 26 | * `Breezy Plugins Guide <plugin-development.txt>`_ for |
38 | 27 | more suggestions about particular APIs. | 27 | more suggestions about particular APIs. |
39 | 28 | 28 | ||
40 | 29 | 29 | ||
41 | @@ -241,7 +241,7 @@ | |||
42 | 241 | time other than register or override functions to be called later. | 241 | time other than register or override functions to be called later. |
43 | 242 | 242 | ||
44 | 243 | The plugin can import breezy and call any function. | 243 | The plugin can import breezy and call any function. |
46 | 244 | Some interesting APIs are described in `Breezy Plugins Guide <http://doc.bazaar.canonical.com/plugins/en/plugin-development.html>`_. | 244 | Some interesting APIs are described in `Breezy Plugins Guide <plugin-development.txt>`_. |
47 | 245 | 245 | ||
48 | 246 | 246 | ||
49 | 247 | Publishing your plugin | 247 | Publishing your plugin |
50 | 248 | 248 | ||
51 | === added file 'doc/developers/plugin-development.txt' | |||
52 | --- doc/developers/plugin-development.txt 1970-01-01 00:00:00 +0000 | |||
53 | +++ doc/developers/plugin-development.txt 2018-11-22 02:24:44 +0000 | |||
54 | @@ -0,0 +1,264 @@ | |||
55 | 1 | Developing a plugin | ||
56 | 2 | =================== | ||
57 | 3 | |||
58 | 4 | Naming | ||
59 | 5 | ------ | ||
60 | 6 | |||
61 | 7 | By convention, most plugins are named brz-xxx and are installed into a | ||
62 | 8 | directory called xxx. Note that the directory name must be a legal | ||
63 | 9 | Python package name, so a plugin called brz-xxx-yyy need to be installed | ||
64 | 10 | into a directory called xxx_yyy, i.e. '-' in a plugin name should be mapped to | ||
65 | 11 | an underscore in the directory name. | ||
66 | 12 | |||
67 | 13 | |||
68 | 14 | Licensing | ||
69 | 15 | --------- | ||
70 | 16 | |||
71 | 17 | We encourage plugin authors to make their plugins publicly available | ||
72 | 18 | under the same license as Breezy itself, namely GPL v2 or later. However, there | ||
73 | 19 | is no requirement to do so. You are free to create Breezy plugins for | ||
74 | 20 | private or internal use within your company and not distribute them. | ||
75 | 21 | |||
76 | 22 | By sharing your work, a larger number of people benefit. In our experience, | ||
77 | 23 | plugin developers also benefit heavily by having more users involved in | ||
78 | 24 | the design, testing, bug fixing and longer term maintenance. In other words, | ||
79 | 25 | sharing leads to a better plugin faster. | ||
80 | 26 | |||
81 | 27 | |||
82 | 28 | Testing | ||
83 | 29 | ------- | ||
84 | 30 | |||
85 | 31 | To ensure your plugin under development is available to Breezy, set | ||
86 | 32 | the ``BRZ_PLUGIN_PATH`` environment variable to its parent directory. | ||
87 | 33 | Alternatively, you may wish to develop your plugin within a directory | ||
88 | 34 | under your personal plugins area (``~/.bazaar/plugins`` on GNU/Linux) | ||
89 | 35 | or put a symbolic link in that area pointing to your plugin under | ||
90 | 36 | test. Finally you can use ``BRZ_PLUGINS_AT`` to point to a specific | ||
91 | 37 | directory for a specific plugin (separated by your platform's value of | ||
92 | 38 | os.pathsep), e.g. | ||
93 | 39 | |||
94 | 40 | export BRZ_PLUGINS_AT=qbrz@/home/me/qbrz:explorer@/home/me/explorer | ||
95 | 41 | |||
96 | 42 | You can disable loading plugins with ``BRZ_DISABLE_PLUGINS``. | ||
97 | 43 | |||
98 | 44 | If you want to stop loading all but installed plugins you can use: | ||
99 | 45 | |||
100 | 46 | BRZ_PLUGIN_PATH=-site | ||
101 | 47 | |||
102 | 48 | We also encourage plugin developers to provide tests for their plugin. | ||
103 | 49 | When you run ``brz selftest``, Breezy will scan all its plugins to see if | ||
104 | 50 | they contain a function named ``test_suite()``. For each plugin that does, | ||
105 | 51 | it calls the function and adds any resulting tests to the master test suite. | ||
106 | 52 | To run just the tests for plugin xxx, the command is:: | ||
107 | 53 | |||
108 | 54 | brz selftest -s bp.xxx | ||
109 | 55 | |||
110 | 56 | |||
111 | 57 | Providing help | ||
112 | 58 | -------------- | ||
113 | 59 | |||
114 | 60 | Plugins in this guide have their documentation automatically | ||
115 | 61 | generated from the online help provided for a plugin. Sections are | ||
116 | 62 | ordered as follows: | ||
117 | 63 | |||
118 | 64 | 1. High level introduction | ||
119 | 65 | 2. Plugin-specific help topics (COMING SOON) | ||
120 | 66 | 3. Commands defined or extended by the plugin. | ||
121 | 67 | |||
122 | 68 | High level help is specified in the docstring for the ``__init__.py`` module. | ||
123 | 69 | You can register plugin-specific help topics in ``__init__.py`` like this:: | ||
124 | 70 | |||
125 | 71 | _xxx_tutorial = """XXX Tutorial | ||
126 | 72 | |||
127 | 73 | Welcome to xxx, your new best friend. ... | ||
128 | 74 | """ | ||
129 | 75 | topic_registry.register('xxx-tutorial', | ||
130 | 76 | _xxx_tutorial, | ||
131 | 77 | 'How to use xxx') | ||
132 | 78 | |||
133 | 79 | Command level help is specified in the docstring for the relevant | ||
134 | 80 | ``cmd_xxx`` Command class. | ||
135 | 81 | |||
136 | 82 | .. note:: | ||
137 | 83 | |||
138 | 84 | The final documentation needs to be in ReST format. Keep in mind though | ||
139 | 85 | that the documentation should also be readable via ``brz help xxx`` so | ||
140 | 86 | it's best to keep markup to a reasonable minimum. | ||
141 | 87 | |||
142 | 88 | |||
143 | 89 | Providing custom code via hooks | ||
144 | 90 | ------------------------------- | ||
145 | 91 | |||
146 | 92 | Hooks let you provide custom code at certain processing points. | ||
147 | 93 | The available hook point are documented in the `User Reference | ||
148 | 94 | <http://doc.bazaar-vcs.org/development/en/user-reference/index.html#hooks>`_. | ||
149 | 95 | |||
150 | 96 | Adding a new hook is done with, for example:: | ||
151 | 97 | |||
152 | 98 | import breezy.branch | ||
153 | 99 | breezy.branch.Branch.hooks.install_named_hook('post_push', post_push_hook, | ||
154 | 100 | 'My post_push hook') | ||
155 | 101 | |||
156 | 102 | For more information on how to write hooks, | ||
157 | 103 | see http://doc.bazaar-vcs.org/development/en/user-guide/hooks.html. | ||
158 | 104 | |||
159 | 105 | |||
160 | 106 | Defining a new command | ||
161 | 107 | ---------------------- | ||
162 | 108 | |||
163 | 109 | Breezy commands are defined as subclasses of ``breezy.commands.Command``, the | ||
164 | 110 | command name is specified by the name of the subclass, and they must be | ||
165 | 111 | registered into ``brz`` with the ``breezy.commands.register_command`` function | ||
166 | 112 | at module import time. | ||
167 | 113 | |||
168 | 114 | To define the ``brz foo-bar`` command:: | ||
169 | 115 | |||
170 | 116 | from breezy.commands import Command, register_command | ||
171 | 117 | |||
172 | 118 | class cmd_foo_bar(Command): | ||
173 | 119 | # see breezy/builtins.py for information about what to put here | ||
174 | 120 | pass | ||
175 | 121 | |||
176 | 122 | register_command(cmd_foo_bar) | ||
177 | 123 | |||
178 | 124 | If the class name starts with ``cmd_``, the prefix will get dropped | ||
179 | 125 | and ``_`` will be replaced by ``-`` characters. | ||
180 | 126 | |||
181 | 127 | |||
182 | 128 | Managing data | ||
183 | 129 | ------------- | ||
184 | 130 | |||
185 | 131 | Plugin data falls into several categories: | ||
186 | 132 | |||
187 | 133 | * Configuration settings. | ||
188 | 134 | * Data the user can see and version control. | ||
189 | 135 | * Data behind the scenes. | ||
190 | 136 | |||
191 | 137 | Configuration settings are often stored in ``branch.conf``, | ||
192 | 138 | ``locations.conf`` or ``bazaar.conf``. | ||
193 | 139 | |||
194 | 140 | User-visible data for a plugin called xxx should be stored in | ||
195 | 141 | ``.bzrmeta/xxx``. If mutiple files are desirable, make ``.bzrmeta/xxx`` | ||
196 | 142 | a directory or give them a common prefix within ``.bzrmeta``, e.g. | ||
197 | 143 | ``xxx-foo``, ``xxx-bar``. | ||
198 | 144 | |||
199 | 145 | Data managed behind the scenes should be stored in ``.bzr``. | ||
200 | 146 | Depending on the nature of the data, it may belong in a subdirectory | ||
201 | 147 | within there, e.g. ``checkout``, ``branch`` or ``repository``. | ||
202 | 148 | It's your responsibility to ensure behind-the-scenes data is | ||
203 | 149 | propagated and merged appropriately via custom code. You may want | ||
204 | 150 | to use existing hooks for this or ask for new hooks to help. | ||
205 | 151 | |||
206 | 152 | Useful metadata | ||
207 | 153 | --------------- | ||
208 | 154 | |||
209 | 155 | It is highly recommended that plugins define a version number. This | ||
210 | 156 | is displayed by ``brz plugins`` and by the ``qplugins`` GUI dialog. | ||
211 | 157 | To do this, define ``version_info`` in ``__init__.py`` like this:: | ||
212 | 158 | |||
213 | 159 | version_info = (1, 2, 0, 'beta', 1) | ||
214 | 160 | |||
215 | 161 | Plugins can also declare other useful metadata such as a mimimum | ||
216 | 162 | breezy version, new transports and storage formats. See | ||
217 | 163 | `Plugin API <plugin-api>`_ for details. | ||
218 | 164 | |||
219 | 165 | |||
220 | 166 | Performance tips | ||
221 | 167 | ---------------- | ||
222 | 168 | |||
223 | 169 | When brz starts up, it imports every plugin, so plugins can degrade | ||
224 | 170 | performance when they're not being used. However, sub-modules are not | ||
225 | 171 | loaded, only the main name. | ||
226 | 172 | |||
227 | 173 | One way you can avoid this slowdown is by putting most of your code | ||
228 | 174 | in sub-modules, so that the plugin, itself, is small. All you really | ||
229 | 175 | need in the ``__init__.py`` is the plugin's Command classes, the | ||
230 | 176 | commands to register them, and the optional ``test_suite()``. | ||
231 | 177 | |||
232 | 178 | Another way to reduce your plugin's overhead is to use the breezy | ||
233 | 179 | lazy_import functionality. That looks something like this:: | ||
234 | 180 | |||
235 | 181 | from breezy.lazy_import import lazy_import | ||
236 | 182 | lazy_import(globals(), """ | ||
237 | 183 | from breezy import ( | ||
238 | 184 | branch as _mod_branch, | ||
239 | 185 | option, | ||
240 | 186 | workingtree, | ||
241 | 187 | ) | ||
242 | 188 | """) | ||
243 | 189 | |||
244 | 190 | Lazy importing only works for packages and modules, not classes or | ||
245 | 191 | functions. It defers the import until you actually need it. | ||
246 | 192 | |||
247 | 193 | |||
248 | 194 | Learning more | ||
249 | 195 | ------------- | ||
250 | 196 | |||
251 | 197 | `Integrating with Bazaar <http://wiki.bazaar.canonical.com/Integrating_with_Bazaar>`_ | ||
252 | 198 | explains how to do such operations as ``add``, ``commit``, ``log`` and more. | ||
253 | 199 | |||
254 | 200 | Reference documentation on some key APIs is provided below. For a more | ||
255 | 201 | detailed reference, see the `complete breezy API documentation <api/index>`_. | ||
256 | 202 | |||
257 | 203 | |||
258 | 204 | Mini API Reference | ||
259 | 205 | ------------------ | ||
260 | 206 | |||
261 | 207 | Command Class | ||
262 | 208 | ~~~~~~~~~~~~~ | ||
263 | 209 | |||
264 | 210 | Base class for commands. Commands are the heart of the command-line brz | ||
265 | 211 | interface. | ||
266 | 212 | |||
267 | 213 | The command object mostly handles the mapping of command-line parameters into | ||
268 | 214 | one or more breezy operations, and of the results into textual output. | ||
269 | 215 | |||
270 | 216 | Commands normally don't have any state. All their arguments are passed in to | ||
271 | 217 | the run method. (Subclasses may take a different policy if the behaviour of the | ||
272 | 218 | instance needs to depend on e.g. a shell plugin and not just its Python class.) | ||
273 | 219 | |||
274 | 220 | The docstring for an actual command should give a single-line summary, then a | ||
275 | 221 | complete description of the command. A grammar description will be inserted. | ||
276 | 222 | |||
277 | 223 | aliases | ||
278 | 224 | Other accepted names for this command. | ||
279 | 225 | |||
280 | 226 | takes_args | ||
281 | 227 | List of argument forms, marked with whether they are optional, | ||
282 | 228 | repeated, etc. | ||
283 | 229 | |||
284 | 230 | For example: ``['to_location', 'from_branch?', 'file*']`` means: | ||
285 | 231 | |||
286 | 232 | * 'to_location' is required | ||
287 | 233 | * 'from_branch' is optional | ||
288 | 234 | * 'file' can be specified 0 or more times | ||
289 | 235 | |||
290 | 236 | takes_options | ||
291 | 237 | List of options that may be given for this command. These can be either | ||
292 | 238 | strings, referring to globally-defined options, or option objects. | ||
293 | 239 | Retrieve through options(). | ||
294 | 240 | |||
295 | 241 | hidden | ||
296 | 242 | If true, this command isn't advertised. This is typically for commands | ||
297 | 243 | intended for expert users. | ||
298 | 244 | |||
299 | 245 | run() | ||
300 | 246 | Actually run the command. This is invoked with the options and arguments | ||
301 | 247 | bound to keyword parameters. | ||
302 | 248 | |||
303 | 249 | Return 0 or None if the command was successful, or a non-zero shell error | ||
304 | 250 | code if not. It's OK for this method to allow an exception to raise up. | ||
305 | 251 | |||
306 | 252 | |||
307 | 253 | register_command Function | ||
308 | 254 | ~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
309 | 255 | |||
310 | 256 | Utility function to help register a command. | ||
311 | 257 | |||
312 | 258 | param *cmd* | ||
313 | 259 | Command subclass to register | ||
314 | 260 | |||
315 | 261 | param *decorate* | ||
316 | 262 | If true, allow overriding an existing command of the same name; the old | ||
317 | 263 | command is returned by this function. Otherwise it is an error to try to | ||
318 | 264 | override an existing command. | ||
319 | 0 | 265 | ||
320 | === modified file 'doc/en/_templates/index.html' | |||
321 | --- doc/en/_templates/index.html 2018-11-18 13:17:18 +0000 | |||
322 | +++ doc/en/_templates/index.html 2018-11-22 02:24:44 +0000 | |||
323 | @@ -45,12 +45,12 @@ | |||
324 | 45 | <p class="biglink"><a class="biglink" href="https://answers.launchpad.net/brz/+faqs">FAQ</a><br/> | 45 | <p class="biglink"><a class="biglink" href="https://answers.launchpad.net/brz/+faqs">FAQ</a><br/> |
325 | 46 | <span class="linkdescr">frequently asked questions</span> | 46 | <span class="linkdescr">frequently asked questions</span> |
326 | 47 | </p> | 47 | </p> |
328 | 48 | <p class="biglink"><a class="biglink" href="http://wiki.bazaar.canonical.com/brzGlossary/">Glossary</a><br/> | 48 | <p class="biglink"><a class="biglink" href="user-reference/glossary-help.html">Glossary</a><br/> |
329 | 49 | <span class="linkdescr">help with terminology</span> | 49 | <span class="linkdescr">help with terminology</span> |
330 | 50 | </p> | 50 | </p> |
331 | 51 | </td> | 51 | </td> |
332 | 52 | <td width="50%"> | 52 | <td width="50%"> |
334 | 53 | <p class="biglink"><a class="biglink" href="../developers/">Developer Docs</a><br/> | 53 | <p class="biglink"><a class="biglink" href="{{ pathto("developers/index") }}">Developer Docs</a><br/> |
335 | 54 | <span class="linkdescr">improving and extending brz</span> | 54 | <span class="linkdescr">improving and extending brz</span> |
336 | 55 | </p> | 55 | </p> |
337 | 56 | <p class="biglink"><a class="biglink" href="http://doc.bazaar.canonical.com/migration/en/">Migration Docs</a><br/> | 56 | <p class="biglink"><a class="biglink" href="http://doc.bazaar.canonical.com/migration/en/">Migration Docs</a><br/> |
338 | 57 | 57 | ||
339 | === modified file 'doc/en/tutorials/using_breezy_with_launchpad.txt' | |||
340 | --- doc/en/tutorials/using_breezy_with_launchpad.txt 2018-11-18 13:16:09 +0000 | |||
341 | +++ doc/en/tutorials/using_breezy_with_launchpad.txt 2018-11-22 02:24:44 +0000 | |||
342 | @@ -410,36 +410,3 @@ | |||
343 | 410 | library of 750,000 translated strings, and a community of 19,000 | 410 | library of 750,000 translated strings, and a community of 19,000 |
344 | 411 | registered translators can radically cut the time required to | 411 | registered translators can radically cut the time required to |
345 | 412 | localise your project into many languages. | 412 | localise your project into many languages. |
346 | 413 | |||
347 | 414 | |||
348 | 415 | Summary | ||
349 | 416 | ======= | ||
350 | 417 | |||
351 | 418 | The communities we join, whether off-line or on-line, | ||
352 | 419 | say a lot about the sort of people we are. The flip-side | ||
353 | 420 | to this is that the tools you choose for your community - particularly | ||
354 | 421 | the CDE and version control tool - can have a large impact on who | ||
355 | 422 | joins and how easily they can contribute. | ||
356 | 423 | |||
357 | 424 | In their own right, Launchpad and Breezy are highly useful tools. | ||
358 | 425 | Together, they can: | ||
359 | 426 | |||
360 | 427 | * help your community track major assets such as source code and knowledge | ||
361 | 428 | * help it grow by reducing barriers to entry | ||
362 | 429 | * help it interact with related communities. | ||
363 | 430 | |||
364 | 431 | In particular, Launchpad is a free code hosting service for your Breezy | ||
365 | 432 | branches, branches can be browsed online, branches can be linked to bugs | ||
366 | 433 | and blueprints, and the status of bug-branch relationships can be | ||
367 | 434 | automatically managed by mentioning the bug while committing in Breezy. | ||
368 | 435 | Further integration is under development with the aim of streamlining | ||
369 | 436 | the process from *great idea* to *running code in the hands of end users*. | ||
370 | 437 | |||
371 | 438 | If you have any feedback on how you'd like to see Breezy and Launchpad | ||
372 | 439 | further integrated, please contact us on the Bazaar mailing list, | ||
373 | 440 | bazaar@lists.canonical.com. | ||
374 | 441 | |||
375 | 442 | While designed as a free service to support free software projects, | ||
376 | 443 | Canonical may make Launchpad available to commercial software developers | ||
377 | 444 | depending on their requirements. We would be happy to hear from you | ||
378 | 445 | if you think Launchpad would be useful for managing your community. | ||
379 | 446 | 413 | ||
380 | === modified file 'doc/en/user-guide/hooks.txt' | |||
381 | --- doc/en/user-guide/hooks.txt 2017-05-21 18:10:28 +0000 | |||
382 | +++ doc/en/user-guide/hooks.txt 2018-11-22 02:24:44 +0000 | |||
383 | @@ -33,7 +33,7 @@ | |||
384 | 33 | branch.Branch.hooks.install_named_hook('post_push', post_push_hook, | 33 | branch.Branch.hooks.install_named_hook('post_push', post_push_hook, |
385 | 34 | 'My post_push hook') | 34 | 'My post_push hook') |
386 | 35 | 35 | ||
388 | 36 | .. _write a plugin: http://doc.bazaar.canonical.com/plugins/en/plugin-development.html | 36 | .. _write a plugin: ../../developers/plugin-development.html |
389 | 37 | 37 | ||
390 | 38 | To use this example, create a file named ``push_hook.py``, and stick it in | 38 | To use this example, create a file named ``push_hook.py``, and stick it in |
391 | 39 | ``plugins`` subdirectory of your configuration directory. (If you have never | 39 | ``plugins`` subdirectory of your configuration directory. (If you have never |
392 | 40 | 40 | ||
393 | === modified file 'doc/en/user-guide/writing_a_plugin.txt' | |||
394 | --- doc/en/user-guide/writing_a_plugin.txt 2017-05-21 18:10:28 +0000 | |||
395 | +++ doc/en/user-guide/writing_a_plugin.txt 2018-11-22 02:24:44 +0000 | |||
396 | @@ -40,8 +40,8 @@ | |||
397 | 40 | Plugin searching rules | 40 | Plugin searching rules |
398 | 41 | ---------------------- | 41 | ---------------------- |
399 | 42 | 42 | ||
402 | 43 | Bzr will scan ``~/.bazaar/plugins`` and ``breezy/plugins`` for plugins | 43 | Breezy will scan ``~/.config/breezy/plugins`` and ``breezy/plugins`` for |
403 | 44 | by default. You can override this with ``BZR_PLUGIN_PATH`` | 44 | plugins by default. You can override this with ``BRZ_PLUGIN_PATH`` |
404 | 45 | (see `User Reference | 45 | (see `User Reference |
405 | 46 | <../user-reference/configuration-help.html#brz-plugin-path>`_ for details). | 46 | <../user-reference/configuration-help.html#brz-plugin-path>`_ for details). |
406 | 47 | 47 | ||
407 | @@ -53,7 +53,7 @@ | |||
408 | 53 | More information | 53 | More information |
409 | 54 | ---------------- | 54 | ---------------- |
410 | 55 | 55 | ||
412 | 56 | Please feel free to contribute your plugin to BzrTools, if you think it | 56 | Please feel free to contribute your plugin to Breezy, if you think it |
413 | 57 | would be useful to other people. | 57 | would be useful to other people. |
414 | 58 | 58 | ||
415 | 59 | See the `Breezy Developer Guide`_ for details on Breezy's development | 59 | See the `Breezy Developer Guide`_ for details on Breezy's development |
Thanks! Am aware this is mostly ported over text, but have left some inline comments for things that seem not quite right.