/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to doc/developers/contribution-quickstart.txt

  • Committer: Robert Collins
  • Date: 2010-05-11 08:36:16 UTC
  • mto: This revision was merged to the branch mainline in revision 5223.
  • Revision ID: robertc@robertcollins.net-20100511083616-b8fjb19zomwupid0
Make all lock methods return Result objects, rather than lock_read returning self, as per John's review.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
Contributing to Breezy
 
1
Contributing to Bazaar
2
2
======================
3
3
 
4
4
Talk to us
5
5
----------
6
6
 
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.
10
10
 
 
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.
 
15
 
11
16
* `Bazaar mailing list <http://lists.ubuntu.com/mailman/listinfo/bazaar>`_
12
17
 
13
 
* IRC in channel ``#bzr`` on ``irc.freenode.net``
 
18
* IRC in channel ``#bzr`` on ``irc.ubuntu.com``
14
19
 
15
20
 
16
21
Starting
21
26
you should set it to "In Progress" and if you wish assign it to yourself.
22
27
 
23
28
You might like to start with a bug tagged `easy
24
 
<https://bugs.launchpad.net/brz/+bugs?field.tag=easy>`_.
25
 
 
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>`_.
29
30
 
30
31
Making a branch
31
32
---------------
33
34
First, get a local copy of Bazaar::
34
35
 
35
36
   $ cd $HOME
36
 
   $ brz init-shared-repo brz
37
 
   $ cd brz
38
 
   $ brz branch lp:brz brz.dev
 
37
   $ bzr init-repo bzr
 
38
   $ cd bzr
 
39
   $ bzr branch lp:bzr bzr.dev
39
40
 
40
41
Now make your own branch; we recommend you include the bug number and also
41
42
a brief description::
42
43
 
43
 
   $ brz branch brz.dev 123456-status-speed
 
44
   $ bzr branch bzr.dev 123456-status-speed
44
45
 
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.
48
49
 
49
 
You probably want this configuration in ``~/.config/breezy/locations.conf``::
50
 
 
51
 
    [/home/USER/brz]
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,
 
52
ie ::
 
53
 
 
54
   $ bzr branch lp:bzr/2.1 bzr.2.1
 
55
   $ bzr branch bzr.2.1 123458-2.1-status
 
56
 
 
57
You probably want this configuration in ``~/.bazaar/locations.conf``::
 
58
 
 
59
    [/home/USER/bzr]
 
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
54
64
 
55
65
with your local and Launchpad usernames inserted.
56
66
 
57
67
 
58
 
 
59
 
Publishing your changes
60
 
-----------------------
61
 
 
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 ::
64
 
 
65
 
    $ brz push
66
 
 
67
 
 
68
68
Writing tests
69
69
-------------
70
70
 
74
74
merge that does not yet have tests.
75
75
 
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``.
80
80
 
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.
83
83
 
84
84
To run the tests::
85
85
 
86
 
    $ ./brz selftest
 
86
    $ ./bzr selftest
87
87
 
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)::
91
91
 
92
 
    $ sudo apt-get build-dep brz
 
92
    $ sudo apt-get build-dep bzr
93
93
 
94
94
To build the binary extensions::
95
95
 
102
102
-----------------
103
103
 
104
104
 
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>`_: