Merge lp:~nmb/bzr-alldocs/add-colo into lp:bzr-alldocs

Proposed by Neil Martinsen-Burrell
Status: Merged
Approved by: Ian Clatworthy
Approved revision: not available
Merged at revision: not available
Proposed branch: lp:~nmb/bzr-alldocs/add-colo
Merge into: lp:bzr-alldocs
Diff against target: 452 lines (+426/-0)
3 files modified
plugins-registry.ini (+6/-0)
plugins/en/colo-plugin.txt (+419/-0)
plugins/en/index.txt (+1/-0)
To merge this branch: bzr merge lp:~nmb/bzr-alldocs/add-colo
Reviewer Review Type Date Requested Status
Ian Clatworthy Approve
Review via email: mp+17121@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Neil Martinsen-Burrell (nmb) wrote :

This adds the colo plugin to the registry and to the Plugin Guide. The initial release of this plugin will happen shortly.

Revision history for this message
Ian Clatworthy (ian-clatworthy) wrote :

This looks good. Please merge.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'plugins-registry.ini'
--- plugins-registry.ini 2009-12-11 13:19:26 +0000
+++ plugins-registry.ini 2010-01-11 02:55:21 +0000
@@ -126,6 +126,12 @@
126platform.mac-osx = True126platform.mac-osx = True
127wiki.description = Submit commits to [[http://cia.vc/|CIA]]127wiki.description = Submit commits to [[http://cia.vc/|CIA]]
128128
129[plugin colo]
130purpose = Work with colocated branches using current technology
131link.branch = lp:bzr-colo
132owner = nmb
133platform.mac-osx = True
134
129[plugin colocated]135[plugin colocated]
130purpose = Colocated branches support (aka git-style branches)136purpose = Colocated branches support (aka git-style branches)
131link.branch = http://people.samba.org/bzr/jelmer/bzr-colocated/trunk137link.branch = http://people.samba.org/bzr/jelmer/bzr-colocated/trunk
132138
=== added file 'plugins/en/colo-plugin.txt'
--- plugins/en/colo-plugin.txt 1970-01-01 00:00:00 +0000
+++ plugins/en/colo-plugin.txt 2010-01-11 02:55:21 +0000
@@ -0,0 +1,419 @@
1``colo`` - Work with colocated branches using current technology
2================================================================
3
4================ ============================================================
5Version 0.0.1
6Branch `lp:bzr-colo <https://code.launchpad.net/bzr-colo>`_
7Home page `<https://launchpad.net/bzr-colo>`_
8Owner `nmb <https://launchpad.net/~nmb>`_
9GNU/Linux Maybe (please test)
10Windows Maybe (please test)
11Mac OS X Yes
12================ ============================================================
13
14Work with colocated branches using current technology.
15
16In order to provide a faster and simpler working model, this plugin tries
17to support a configuration similar to git and Mercurial's colocated branches,
18where there is a single working tree that can be switched between multiple
19branches that all co-exist in the same directory. This working model is
20entirely possible using Bazaar's existing technology, and this plugin aims to
21make it as simple as possible to use that model.
22
23This plugin does not add any new formats or objects to Bazaar, it simply
24provides convenience commands for working with a certain *convention* for
25branch storage. This plugin provides the following commands
26
27 * colo-init
28 * colo-branch
29 * colo-branches
30 * colo-fetch
31 * colo-clone
32 * colo-prune
33 * colo-clean
34 * colo-ify
35
36For more information on working with this plugin, see ``bzr help
37colo-tutorial`` and the help for the individual commands.
38
39Referring to Colocated Branches
40-------------------------------
41
42This plugin adds a directory service of "colo:" that can be used to
43refer to branches inside of the ``.bzr/branches`` directory. So, for example
44we could ``bzr switch colo:fix-eol-bug`` to do work in the colocated
45``fix-eol-bug`` branch. Note that in some cases, the "colo:" prefix is
46unnecessary because Bazaar automatically looks for branches in the directory
47where the current branch is located. So the previous command would also work
48with ``bzr switch fix-eol-bug`` because switch searches sibling directories
49automatically.
50
51From within a colocated workspace, the specifier ``colo:branch_name`` refers
52to the branch with that name in the current colocated workspace. It is
53possible to refer to colocated branches in *other* workspaces using the syntax
54``colo:workspace_location:branch_name``. The ``workspace_location`` in this
55form can be either a path (e.g. ``colo:../other_project:trunk``) or a URL
56(e.g. ``colo:bzr+ssh://hostname/path/to/workspace:trunk``).
57
58
59
60colo-branch
61-----------
62
63**Purpose**
64
65Make a new branch from the currently active branch.
66
67**Usage**
68
69bzr colo-branch NEW_BRANCH
70
71**Options**
72
73
74--no-switch Don't switch the workspace to the new branch
75-v, --verbose Display more information.
76-h, --help Show help message.
77-q, --quiet Only display errors and warnings.
78--from-branch=ARG name of the branch to branch from
79--usage Show usage message and options.
80-r ARG, --revision=ARG
81 See "help revisionspec" for details.
82
83
84**Description**
85
86In a colocated workspace, there is always one branch active at a time,
87so to create a new branch, we need to only specify the name of the new
88branch. If the ``-r`` option is given, then the branch is made from
89the specified revision of the current branch. By default, the branch
90is made from the current branch, but a different branch name to branch
91from can be specified with the ``--from-branch`` option.
92
93colo-branches
94-------------
95
96**Purpose**
97
98List all of the branches in a colocated workspace.
99
100**Usage**
101
102bzr colo-branches [LOCATION]
103
104**Options**
105
106
107--usage Show usage message and options.
108-v, --verbose Display more information.
109-q, --quiet Only display errors and warnings.
110-h, --help Show help message.
111
112
113**Description**
114
115If the current directory is a working tree pointing to one of the branches,
116that branch is marked with a "*".
117
118colo-clean
119----------
120
121**Purpose**
122
123Clean unused revisions from the repository.
124
125**Usage**
126
127bzr colo-clean
128
129**Options**
130
131
132--usage Show usage message and options.
133-v, --verbose Display more information.
134-q, --quiet Only display errors and warnings.
135-h, --help Show help message.
136
137
138**Description**
139
140An unused revision is one that is not in the ancestry of any of the
141active branches in the workspace. This command can be used after the
142``colo-prune`` command to remove revisions that were only present in
143the branch that was pruned.
144
145colo-clone
146----------
147
148**Purpose**
149
150Create a checkout of this branch in a new directory.
151
152**Usage**
153
154bzr colo-clone TO_DIRECTORY
155
156**Options**
157
158
159--usage Show usage message and options.
160--create Also create a new colocated branch by this name
161-v, --verbose Display more information.
162-q, --quiet Only display errors and warnings.
163-h, --help Show help message.
164
165
166**Description**
167
168By default this command makes a new checkout of the current branch in
169the specified directory. Using the ``--create`` option, a new branch
170named after the last component of the new directory is created, and
171the new checkout is switched to that new branch.
172
173colo-fetch
174----------
175
176**Purpose**
177
178Fetch an external project into a new colocated workspace.
179
180**Usage**
181
182bzr colo-fetch FROM_LOCATION [TO_LOCATION]
183
184**Options**
185
186
187--trunk-name=ARG Name of the branch to create; default is "trunk"
188-v, --verbose Display more information.
189--create-prefix Create the path leading up to the location if it does
190 not already exist.
191-q, --quiet Only display errors and warnings.
192--usage Show usage message and options.
193-h, --help Show help message.
194
195Storage Format:
196 --format=ARG Specify a format for the repository, etc. See "help
197 formats".
198 --1.14 A working-tree format that supports content filtering.
199 --1.14-rich-root A variant of 1.14 that supports rich-root data (needed
200 for bzr-svn and bzr-git).
201 --1.6 A format that allows a branch to indicate that there
202 is another (stacked) repository that should be used to
203 access data that is not present locally.
204 --1.6.1-rich-root A variant of 1.6 that supports rich-root data (needed
205 for bzr-svn and bzr-git).
206 --1.9 A repository format using B+tree indexes. These
207 indexes are smaller in size, have smarter caching and
208 provide faster performance for most operations.
209 --1.9-rich-root A variant of 1.9 that supports rich-root data (needed
210 for bzr-svn and bzr-git).
211 --2a First format for bzr 2.0 series. Uses group-compress
212 storage. Provides rich roots which are a one-way
213 transition.
214 --default First format for bzr 2.0 series. Uses group-compress
215 storage. Provides rich roots which are a one-way
216 transition.
217 --default-rich-root
218 Same as 2a.
219 --development-rich-root
220 Current development format. Supports rich roots. Can
221 convert data to and from rich-root-pack (and anything
222 compatible with rich-root-pack) format repositories.
223 Repositories and branches in this format can only be
224 read by bzr.dev. Please read http://doc.bazaar-
225 vcs.org/latest/developers/development-repo.html before
226 use.
227 --development-subtree
228 Current development format, subtree variant. Can
229 convert data to and from pack-0.92-subtree (and
230 anything compatible with pack-0.92-subtree) format
231 repositories. Repositories and branches in this format
232 can only be read by bzr.dev. Please read http://doc
233 .bazaar-vcs.org/latest/developers/development-
234 repo.html before use.
235 --dirstate New in 0.15: Fast local operations. Compatible with
236 bzr 0.8 and above when accessed over the network.
237 --dirstate-tags New in 0.15: Fast local operations and improved
238 scaling for network operations. Additionally adds
239 support for tags. Incompatible with bzr < 0.15.
240 --knit Format using knits. Recommended for interoperation
241 with bzr <= 0.14.
242 --metaweave Transitional format in 0.8. Slower than knit.
243 --pack-0.92 New in 0.92: Pack-based format with data compatible
244 with dirstate-tags format repositories. Interoperates
245 with bzr repositories before 0.92 but cannot be read
246 by bzr < 0.92. Previously called knitpack-
247 experimental. For more information, see http://doc
248 .bazaar-vcs.org/latest/developers/packrepo.html.
249 --rich-root New in 1.0. Better handling of tree roots.
250 Incompatible with bzr < 1.0.
251 --rich-root-pack New in 1.0: A variant of pack-0.92 that supports rich-
252 root data (needed for bzr-svn and bzr-git).
253 --weave Pre-0.8 format. Slower than knit and does not support
254 checkouts or shared repositories.
255
256
257**Description**
258
259This creates a colocated workspace at the specified location (the default
260is the current directory) with a single branch named "trunk" that has
261the contents of the external project. If you would like to specify a
262different name for the new branch, use the ``--trunk-name`` option.
263
264colo-ify
265--------
266
267**Purpose**
268
269Convert an existing branch into a colocated workspace.
270
271**Usage**
272
273bzr colo-ify [OTHER_LOCATION...]
274
275**Options**
276
277
278--usage Show usage message and options.
279--trunk-name=ARG The name to use for this branch in the colocated workspace
280-v, --verbose Display more information.
281-q, --quiet Only display errors and warnings.
282-h, --help Show help message.
283
284
285**Description**
286
287This converts an existing branch into a colocated workspace. Other
288branches can be added to the workspace by giving them as arguments. The
289names of the other branches will be determined from their nicknames. To
290use a different name for the current branch in the colocated workspace,
291use the ``--trunk-name`` option.
292
293**See also**
294
295nick
296
297colo-init
298---------
299
300**Purpose**
301
302Create a working tree with colocated branches.
303
304**Usage**
305
306bzr colo-init [LOCATION]
307
308**Options**
309
310
311-v, --verbose Display more information.
312--create-prefix Create the path leading up to the location if it does
313 not already exist.
314-q, --quiet Only display errors and warnings.
315--usage Show usage message and options.
316-h, --help Show help message.
317
318Storage Format:
319 --format=ARG Specify a format for the repository, etc. See "help
320 formats".
321 --1.14 A working-tree format that supports content filtering.
322 --1.14-rich-root A variant of 1.14 that supports rich-root data (needed
323 for bzr-svn and bzr-git).
324 --1.6 A format that allows a branch to indicate that there
325 is another (stacked) repository that should be used to
326 access data that is not present locally.
327 --1.6.1-rich-root A variant of 1.6 that supports rich-root data (needed
328 for bzr-svn and bzr-git).
329 --1.9 A repository format using B+tree indexes. These
330 indexes are smaller in size, have smarter caching and
331 provide faster performance for most operations.
332 --1.9-rich-root A variant of 1.9 that supports rich-root data (needed
333 for bzr-svn and bzr-git).
334 --2a First format for bzr 2.0 series. Uses group-compress
335 storage. Provides rich roots which are a one-way
336 transition.
337 --default First format for bzr 2.0 series. Uses group-compress
338 storage. Provides rich roots which are a one-way
339 transition.
340 --default-rich-root
341 Same as 2a.
342 --development-rich-root
343 Current development format. Supports rich roots. Can
344 convert data to and from rich-root-pack (and anything
345 compatible with rich-root-pack) format repositories.
346 Repositories and branches in this format can only be
347 read by bzr.dev. Please read http://doc.bazaar-
348 vcs.org/latest/developers/development-repo.html before
349 use.
350 --development-subtree
351 Current development format, subtree variant. Can
352 convert data to and from pack-0.92-subtree (and
353 anything compatible with pack-0.92-subtree) format
354 repositories. Repositories and branches in this format
355 can only be read by bzr.dev. Please read http://doc
356 .bazaar-vcs.org/latest/developers/development-
357 repo.html before use.
358 --dirstate New in 0.15: Fast local operations. Compatible with
359 bzr 0.8 and above when accessed over the network.
360 --dirstate-tags New in 0.15: Fast local operations and improved
361 scaling for network operations. Additionally adds
362 support for tags. Incompatible with bzr < 0.15.
363 --knit Format using knits. Recommended for interoperation
364 with bzr <= 0.14.
365 --metaweave Transitional format in 0.8. Slower than knit.
366 --pack-0.92 New in 0.92: Pack-based format with data compatible
367 with dirstate-tags format repositories. Interoperates
368 with bzr repositories before 0.92 but cannot be read
369 by bzr < 0.92. Previously called knitpack-
370 experimental. For more information, see http://doc
371 .bazaar-vcs.org/latest/developers/packrepo.html.
372 --rich-root New in 1.0. Better handling of tree roots.
373 Incompatible with bzr < 1.0.
374 --rich-root-pack New in 1.0: A variant of pack-0.92 that supports rich-
375 root data (needed for bzr-svn and bzr-git).
376 --weave Pre-0.8 format. Slower than knit and does not support
377 checkouts or shared repositories.
378
379
380**Description**
381
382A colocated workspace is a working tree that also contains all of its
383branches within the same directory. The branches are stored in the
384.bzr/branches subdirectory. They may be easily referred to using the
385colo: specifier.
386
387colo-prune
388----------
389
390**Purpose**
391
392Remove a branch from the colocated workspace.
393
394**Usage**
395
396bzr colo-prune [BRANCH...]
397
398**Options**
399
400
401--usage Show usage message and options.
402-v, --verbose Display more information.
403-q, --quiet Only display errors and warnings.
404--clean Clean the repository after pruning.
405-h, --help Show help message.
406
407
408**Description**
409
410This commands removes the specified branches from the colocated workspace
411by removing them from the filesystem. By default, it does not remove the
412revisions from the shared repository. If it is desired to remove the
413revisions that are only present in the removed branches, then the
414``--clean`` option may be given.
415
416**See also**
417
418colo-clean
419
0420
=== modified file 'plugins/en/index.txt'
--- plugins/en/index.txt 2009-12-11 13:19:26 +0000
+++ plugins/en/index.txt 2010-01-11 02:55:21 +0000
@@ -121,6 +121,7 @@
121 automv-plugin121 automv-plugin
122 bookmarks-plugin122 bookmarks-plugin
123 bzrtools-plugin123 bzrtools-plugin
124 colo-plugin
124125
125126
126Foreign branches127Foreign branches

Subscribers

People subscribed via source and target branches