2
2
======================
7
If you want to fix or improve something in Breezy, we want to help you.
7
If you want to fix or improve something in Bazaar, we want to help you.
8
8
You can ask at any time for help, on the list, on irc, or through a merge
9
9
proposal on Launchpad.
11
In particular, the rostered
12
`Patch Pilot <http://wiki.bazaar.canonical.com/PatchPilot>`_
13
is an experienced developer who will help you get your changes in, through
14
code review, advice, debugging, writing tests, or whatever it takes.
11
16
* `Bazaar mailing list <http://lists.ubuntu.com/mailman/listinfo/bazaar>`_
13
* IRC in channel ``#bzr`` on ``irc.freenode.net``
18
* IRC in channel ``#bzr`` on ``irc.ubuntu.com``
21
26
you should set it to "In Progress" and if you wish assign it to yourself.
23
28
You might like to start with a bug tagged `easy
24
<https://bugs.launchpad.net/brz/+bugs?field.tag=easy>`_.
26
If you are wondering if your understanding of the bug is correct, or if the
27
approach you have in mind is likely to work, feel to ask about it on the bug,
28
in ``#bzr`` or on the mailing list.
29
<https://bugs.edge.launchpad.net/bzr/+bugs?field.tag=easy>`_.
33
34
First, get a local copy of Bazaar::
36
$ brz init-shared-repo brz
38
$ brz branch lp:brz brz.dev
39
$ bzr branch lp:bzr bzr.dev
40
41
Now make your own branch; we recommend you include the bug number and also
41
42
a brief description::
43
$ brz branch brz.dev 123456-status-speed
44
$ bzr branch bzr.dev 123456-status-speed
45
46
and go ahead and commit in there. Normally you should fix only one bug or
46
47
closely-related cluster of bugs per branch, to make reviews and merges
47
48
flow more smoothly.
49
You probably want this configuration in ``~/.config/breezy/locations.conf``::
52
push_location = lp:~LAUNCHPAD_USER/brz/{branchname}
53
public_branch = http://bazaar.launchpad.net/~LAUNCHPAD_USER/brz/{branchname}
50
For bugs that exist in older supported branches of bzr like 2.0 or 2.1,
51
you might want to fix the bug there so it can go into a bugfix release,
54
$ bzr branch lp:bzr/2.1 bzr.2.1
55
$ bzr branch bzr.2.1 123458-2.1-status
57
You probably want this configuration in ``~/.bazaar/locations.conf``::
60
push_location = lp:~LAUNCHPAD_USER/bzr/
61
push_location:policy = appendpath
62
public_branch = http://bazaar.launchpad.net/~LAUNCHPAD_USER/bzr/
63
public_branch:policy = appendpath
55
65
with your local and Launchpad usernames inserted.
59
Publishing your changes
60
-----------------------
62
After you've locally committed your changes, the configuration above
63
should be enough that you can push them to Launchpad with a simple ::
74
74
merge that does not yet have tests.
76
76
Normally for command-line code you should look in
77
``breezy.tests.blackbox`` and for library code in ``breezy.tests``. For
77
``bzrlib.tests.blackbox`` and for library code in ``bzrlib.tests``. For
78
78
functions on an interface for which there are multiple implementations,
79
like `Transport`, look in ``breezy.tests.per_transport``.
79
like `Transport`, look in ``bzrlib.tests.per_transport``.
81
81
It's a good idea to search the tests for something related to the thing
82
82
you're changing and you may find a test you can modify or adapt.
88
88
Normally the tests will skip if some library dependencies are not present.
89
On Ubuntu, you can install them with this command (you must have source
89
On Ubuntu, you can install them with this command (you must have some
90
90
repositories enabled in Software Sources)::
92
$ sudo apt-get build-dep brz
92
$ sudo apt-get build-dep bzr
94
94
To build the binary extensions::
102
102
-----------------
105
Then propose a merge into Breezy; for Breezy 3.0 and later you can use the ``brz
105
Then propose a merge into bzr; for bzr 2.2 and later you can use the ``bzr
106
106
propose-merge`` command. In the comment for your merge proposal please
107
107
explain what you're trying to do and why. For `example
108
108
<https://code.launchpad.net/~ian-clatworthy/bzr/whats-new-in-2.1/+merge/19677>`_: