/breezy/unstable

To get this branch, use:
bzr branch https://code.breezy-vcs.org/breezy/unstable

« back to all changes in this revision

Viewing changes to doc/en/tutorials/using_breezy_with_launchpad.txt

  • Committer: Jelmer Vernooij
  • Date: 2017-05-24 01:39:33 UTC
  • mfrom: (3815.3776.6)
  • Revision ID: jelmer@jelmer.uk-20170524013933-ir4y4tqtrsiz2ka2
New upstream snapshot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
===========================
2
 
Using Bazaar with Launchpad
 
2
Using Breezy with Launchpad
3
3
===========================
4
4
 
5
5
 
13
13
of a piece of software may vary in size from one person
14
14
to several thousand people. Depending on the requirements,
15
15
the challenges involved, both technical and managerial,
16
 
can be immense. As explained in the Bazaar User Guide, selecting
17
 
"just right" processes and using tools like Bazaar to support
 
16
can be immense. As explained in the Breezy User Guide, selecting
 
17
"just right" processes and using tools like Breezy to support
18
18
matching workflows can greatly help.
19
19
 
20
20
Success with software though requires more than a great team - it
88
88
in a sustainable way is no easy task.
89
89
 
90
90
 
91
 
Launchpad: More development, less friction
92
 
------------------------------------------
93
 
 
94
 
As well as sponsoring `Ubuntu <http://www.ubuntu.com>`_ and
95
 
`Bazaar <http://bazaar.canonical.com>`_ development, Canonical
96
 
provides Launchpad, <https://launchpad.net/>, as a free service
97
 
for the community. Launchpad is one of the most
98
 
exciting CDEs around for several notable reasons:
99
 
 
100
 
* it models relationships between many of things tracked, e.g.
101
 
  source code branches can be associated with bug fixes
102
 
 
103
 
* as well as managing historical knowledge,
104
 
  it supports future development planning and tracking by providing
105
 
  features such as roadmaps, milestones and blueprints
106
 
 
107
 
* it provides translation tools and packaging services so that
108
 
  barriers are reduced for translators and testers wishing to
109
 
  join your community and help out
110
 
 
111
 
* it provides a nexus for different communities to work
112
 
  together on related issues and roadmaps.
113
 
 
114
 
In other words, Launchpad has been designed to help your
115
 
community grow and to reduce the workflow friction both
116
 
*within* your community and *between* communities. Ultimately,
117
 
that means less time on mechanical tasks and more time for
118
 
interesting development.
119
 
 
120
 
 
121
 
Bazaar: Launchpad's VCS client
 
91
Breezy: Launchpad's VCS client
122
92
------------------------------
123
93
 
124
 
This tutorial looks at how Bazaar and Launchpad can be used together
 
94
This tutorial looks at how Breezy and Launchpad can be used together
125
95
and how they complement each other. It is important to remember that:
126
96
 
127
 
1. Bazaar can be used without Launchpad
128
 
2. Launchpad can be used without Bazaar.
 
97
1. Breezy can be used without Launchpad
 
98
2. Launchpad can be used without Breezy.
129
99
 
130
100
By design though, their sum is greater than the individual
131
101
parts.
157
127
 
158
128
Note: External branches can even be hosted in legacy version control
159
129
tools, i.e. CVS and Subversion. Code in these systems will be
160
 
scanned and converted to Bazaar branches on a periodic basis.
 
130
scanned and converted to Breezy branches on a periodic basis.
161
131
For maximum fidelity of course, it is preferable for external
162
 
branches to be hosted in Bazaar.
 
132
branches to be hosted in Breezy.
163
133
 
164
134
 
165
135
Browsing branches
176
146
* the source code of individual files for a given version.
177
147
 
178
148
 
179
 
Accessing code in Launchpad using Bazaar
 
149
Accessing code in Launchpad using Breezy
180
150
========================================
181
151
 
182
152
Getting the code for a project
183
153
------------------------------
184
154
 
185
155
As Launchpad keeps track of thousands of projects
186
 
and their latest code whether it be managed by Bazaar, CVS or Subversion,
187
 
Bazaar users can grab that code as easily as this::
 
156
and their latest code whether it be managed by Breezy, CVS or Subversion,
 
157
Breezy users can grab that code as easily as this::
188
158
 
189
 
  bzr branch lp:project-name
 
159
  brz branch lp:project-name
190
160
 
191
161
where `project-name` is the Launchpad project ID. Here are some examples::
192
162
 
193
 
  bzr branch lp:inkscape
194
 
  bzr branch lp:amarok
195
 
  bzr branch lp:python
196
 
  bzr branch lp:rails
197
 
  bzr branch lp:java-gnome
 
163
  brz branch lp:inkscape
 
164
  brz branch lp:amarok
 
165
  brz branch lp:python
 
166
  brz branch lp:rails
 
167
  brz branch lp:java-gnome
198
168
 
199
169
You can then browse the code locally using your favorite editor or IDE and
200
170
change the code if you wish.
202
172
If a project has multiple series registered (e.g. a development series and a
203
173
maintenance series), the latest code for a given series can be fetched using::
204
174
 
205
 
  bzr branch lp:project-name/series
 
175
  brz branch lp:project-name/series
206
176
 
207
177
Publishing your changes
208
178
-----------------------
210
180
Having fixed that annoying bug or added that cool feature you've always
211
181
wanted, it's time to impress your friends and make the world a better
212
182
place by making your code available to others. As explained earlier,
213
 
Launchpad is a free Bazaar code hosting service so you can push your
 
183
Launchpad is a free Breezy code hosting service so you can push your
214
184
branch to it and others can access your code from there. For example,
215
185
assuming you are a member of the relevant team, login to launchpad like this::
216
186
 
217
 
  bzr launchpad-login userid
 
187
  brz launchpad-login userid
218
188
 
219
189
where `userid` is your Launchpad user ID.
220
190
You can then push your changes to a team branch like this::
221
191
 
222
 
  bzr push lp:~team-name/project-name/branch-name
 
192
  brz push lp:~team-name/project-name/branch-name
223
193
 
224
194
Others can then download your code like this::
225
195
 
226
 
  bzr branch lp:~team-name/project-name/branch-name
 
196
  brz branch lp:~team-name/project-name/branch-name
227
197
 
228
198
 
229
199
Personal branches
232
202
Even if you are not a member of a team, Launchpad can be used to publish
233
203
your changes. In this case, simply create a personal branch like this::
234
204
 
235
 
  bzr push lp:~userid/project-name/branch-name
 
205
  brz push lp:~userid/project-name/branch-name
236
206
 
237
207
Others can then download your code like this::
238
208
 
239
 
  bzr branch lp:~userid/project-name/branch-name
 
209
  brz branch lp:~userid/project-name/branch-name
240
210
 
241
211
Note: Even when publishing to a personal branch, it is polite to notify the
242
212
upstream developers about your branch so they can pull your changes from
247
217
Package source branches
248
218
-----------------------
249
219
 
250
 
When `maintaining packages for Ubuntu using Bazaar`_ you can easily access the
 
220
When `maintaining packages for Ubuntu using Breezy`_ you can easily access the
251
221
package's source branch on Launchpad.  The package's source branch in the
252
222
current (default) series can be downloaded like this::
253
223
 
254
 
  bzr branch ubuntu:package
 
224
  brz branch ubuntu:package
255
225
 
256
226
where *package* is the name of the Ubuntu package you want to access.  To
257
227
download the package branch for a specific series in Ubuntu (e.g. Maverick or
258
228
Lucid), use this::
259
229
 
260
 
  bzr branch ubuntu:maverick/package
 
230
  brz branch ubuntu:maverick/package
261
231
 
262
232
Ubuntu distroseries can also be abbreviated to just their first letter.  For
263
233
example, the above could also be written::
264
234
 
265
 
  bzr branch ubuntu:m/package
 
235
  brz branch ubuntu:m/package
266
236
 
267
237
You can also download the package source branch from Launchpad for several
268
238
Debian series.  The default series can be downloaded like this::
269
239
 
270
 
  bzr branch debianlp:package
 
240
  brz branch debianlp:package
271
241
 
272
242
and a specific series can be downloaded like this::
273
243
 
274
 
  bzr branch debianlp:lenny/package
 
244
  brz branch debianlp:lenny/package
275
245
 
276
246
Note that the ``debianlp:`` scheme access the Debian source branch for a
277
247
package from Launchpad only.
278
248
 
279
 
.. _`maintaining packages for Ubuntu using Bazaar`: https://wiki.ubuntu.com/DistributedDevelopment
 
249
.. _`maintaining packages for Ubuntu using Breezy`: https://wiki.ubuntu.com/DistributedDevelopment
280
250
 
281
251
 
282
252
Linking branches using Launchpad
306
276
the relationship between the bug and the branch.
307
277
 
308
278
 
309
 
Changing the state in Launchpad while committing in Bazaar
 
279
Changing the state in Launchpad while committing in Breezy
310
280
----------------------------------------------------------
311
281
 
312
 
Bazaar and Launchpad can work together to reduce some of
313
 
the status housekeeping for you. When you commit using Bazaar,
 
282
Breezy and Launchpad can work together to reduce some of
 
283
the status housekeeping for you. When you commit using Breezy,
314
284
use the --fixes option like this::
315
285
 
316
 
  bzr commit --fixes lp:1234 -m "..."
 
286
  brz commit --fixes lp:1234 -m "..."
317
287
 
318
288
where 1234 is the bug ID. This will changes the State of the
319
289
bug-branch relationship to *Fix Available*. If the one commit
387
357
 
388
358
This section briefly looks at some of the features in Launchpad that
389
359
help get good quality code into production. Strong integration with
390
 
Bazaar is core to making this happen smoothly.
 
360
Breezy is core to making this happen smoothly.
391
361
 
392
362
Note: Where indicated, some of the features below are still under
393
363
development. If one or more of these features interest you, please
464
434
the CDE and version control tool - can have a large impact on who
465
435
joins and how easily they can contribute.
466
436
 
467
 
In their own right, Launchpad and Bazaar are highly useful tools.
 
437
In their own right, Launchpad and Breezy are highly useful tools.
468
438
Together, they can:
469
439
 
470
440
* help your community track major assets such as source code and knowledge
471
441
* help it grow by reducing barriers to entry
472
442
* help it interact with related communities.
473
443
 
474
 
In particular, Launchpad is a free code hosting service for your Bazaar
 
444
In particular, Launchpad is a free code hosting service for your Breezy
475
445
branches, branches can be browsed online, branches can be linked to bugs
476
446
and blueprints, and the status of bug-branch relationships can be
477
 
automatically managed by mentioning the bug while committing in Bazaar.
 
447
automatically managed by mentioning the bug while committing in Breezy.
478
448
Further integration is under development with the aim of streamlining
479
449
the process from *great idea* to *running code in the hands of end users*.
480
450
 
481
 
If you have any feedback on how you'd like to see Bazaar and Launchpad
 
451
If you have any feedback on how you'd like to see Breezy and Launchpad
482
452
further integrated, please contact us on the Bazaar mailing list,
483
453
bazaar@lists.canonical.com.
484
454