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

Subscribers

People subscribed via source and target branches