Show More
@@ -5,22 +5,6 b' IPython development guidelines' | |||
|
5 | 5 | ================================== |
|
6 | 6 | |
|
7 | 7 | .. contents:: |
|
8 | .. | |
|
9 | 1 Overview | |
|
10 | 2 Project organization | |
|
11 | 2.1 Subpackages | |
|
12 | 2.2 Installation and dependencies | |
|
13 | 2.3 Specific subpackages | |
|
14 | 3 Version control | |
|
15 | 4 Documentation | |
|
16 | 4.1 Standalone documentation | |
|
17 | 4.2 Docstring format | |
|
18 | 5 Coding conventions | |
|
19 | 5.1 General | |
|
20 | 5.2 Naming conventions | |
|
21 | 6 Testing | |
|
22 | 7 Configuration | |
|
23 | .. | |
|
24 | 8 | |
|
25 | 9 | |
|
26 | 10 | Overview |
@@ -136,11 +120,56 b' Specific subpackages' | |||
|
136 | 120 | Version control |
|
137 | 121 | =============== |
|
138 | 122 | |
|
139 |
In the past, IPython development has been done using `Subversion`__. |
|
|
123 | In the past, IPython development has been done using `Subversion`__. Recently, we made the transition to using `Bazaar`__ and `Launchpad`__. This makes it much easier for people | |
|
124 | to contribute code to IPython. Here is a sketch of how to use Bazaar for IPython | |
|
125 | development. First, you should install Bazaar. After you have done that, make | |
|
126 | sure that it is working by getting the latest main branch of IPython:: | |
|
127 | ||
|
128 | $ bzr branch lp:ipython | |
|
129 | ||
|
130 | Now you can create a new branch for you to do your work in:: | |
|
131 | ||
|
132 | $ bzr branch ipython ipython-mybranch | |
|
133 | ||
|
134 | The typical work cycle in this branch will be to make changes in `ipython-mybranch` | |
|
135 | and then commit those changes using the commit command:: | |
|
136 | ||
|
137 | $ ...do work in ipython-mybranch... | |
|
138 | $ bzr ci -m "the commit message goes here" | |
|
139 | ||
|
140 | While working with this branch, it is a good idea to merge in changes that have been | |
|
141 | made upstream in the parent branch. This can be done by doing:: | |
|
142 | ||
|
143 | $ bzr pull | |
|
144 | ||
|
145 | If this command shows that the branches have diverged, then you should do a merge | |
|
146 | instead:: | |
|
147 | ||
|
148 | $ bzr merge lp:ipython | |
|
149 | ||
|
150 | If you want others to be able to see your branch, you can create an account with | |
|
151 | launchpad and push the branch to your own workspace:: | |
|
152 | ||
|
153 | $ bzr push bzr+ssh://<me>@bazaar.launchpad.net/~<me>/+junk/ipython-mybranch | |
|
154 | ||
|
155 | Finally, once the work in your branch is done, you can merge your changes back into | |
|
156 | the `ipython` branch by using merge:: | |
|
157 | ||
|
158 | $ cd ipython | |
|
159 | $ merge ../ipython-mybranch | |
|
160 | [resolve any conflicts] | |
|
161 | $ bzr ci -m "Fixing that bug" | |
|
162 | $ bzr push | |
|
163 | ||
|
164 | But this will require you to have write permissions to the `ipython` branch. It you don't | |
|
165 | you can tell one of the IPython devs about your branch and they can do the merge for you. | |
|
166 | ||
|
167 | More information about Bazaar workflows can be found `here`__. | |
|
140 | 168 | |
|
141 | 169 | .. __: http://subversion.tigris.org/ |
|
142 | 170 | .. __: http://bazaar-vcs.org/ |
|
143 | 171 | .. __: http://www.launchpad.net/ipython |
|
172 | .. __: http://doc.bazaar-vcs.org/bzr.dev/en/user-guide/index.html | |
|
144 | 173 | |
|
145 | 174 | Documentation |
|
146 | 175 | ============= |
General Comments 0
You need to be logged in to leave comments.
Login now