2921.5.1
by Alexander Belchenko
bzr in 5 min: trivial fix for title |
1 |
====================== |
2866.2.7
by Matthew Revell
Ian, John AM, Poolie, John G comments acted on. Corrected bzr send section, used 'parent' instead of 'main' branch, included two publishing sections - one for LP and one for sftp. |
2 |
Bazaar in five minutes |
2921.5.1
by Alexander Belchenko
bzr in 5 min: trivial fix for title |
3 |
====================== |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
4 |
|
5 |
Introduction |
|
6 |
============ |
|
7 |
||
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
8 |
Bazaar is a distributed version control system that makes it easier for |
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
9 |
people to work together on software projects. |
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
10 |
|
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
11 |
Over the next five minutes, you'll learn how to put your files under |
2866.2.4
by Matthew Revell
mini-tutorial revision 3 |
12 |
version control, how to record changes to them, examine your work, publish |
2866.2.7
by Matthew Revell
Ian, John AM, Poolie, John G comments acted on. Corrected bzr send section, used 'parent' instead of 'main' branch, included two publishing sections - one for LP and one for sftp. |
13 |
it and send your work for merger into a project's trunk. |
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
14 |
|
2691.1.11
by Ian Clatworthy
Added mini tutorial |
15 |
|
16 |
Installation |
|
17 |
============ |
|
18 |
||
2866.2.5
by Matthew Revell
Updated with Launchpad push and poolie, John G and Jam changes |
19 |
This guide doesn't describe how to install Bazaar but it's usually very |
20 |
easy. You can find installation instructions at: |
|
21 |
||
22 |
- **GNU/Linux:** Bazaar is probably in your GNU/Linux distribution already. |
|
3270.1.1
by Neil Martinsen-Burrell
change installation instructions for Mac |
23 |
- **Windows:** `installation instructions for Windows`_. |
24 |
- **Mac OS X:** `installation instructions for Mac OS X`_. |
|
2866.2.5
by Matthew Revell
Updated with Launchpad push and poolie, John G and Jam changes |
25 |
|
3270.1.1
by Neil Martinsen-Burrell
change installation instructions for Mac |
26 |
For other platforms and to install from source code, see the Download_ |
2866.2.4
by Matthew Revell
mini-tutorial revision 3 |
27 |
and Installation_ pages. |
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
28 |
|
5050.22.1
by John Arbash Meinel
Lots of documentation updates. |
29 |
.. _installation instructions for Windows: http://wiki.bazaar.canonical.com/WindowsDownloads |
30 |
.. _installation instructions for Mac OS X: http://wiki.bazaar.canonical.com/MacOSXBundle |
|
31 |
.. _Download: http://wiki.bazaar.canonical.com/Download |
|
32 |
.. _Installation: http://wiki.bazaar.canonical.com/InstallationFaq |
|
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
33 |
|
34 |
||
35 |
Introducing yourself |
|
2691.1.11
by Ian Clatworthy
Added mini tutorial |
36 |
==================== |
37 |
||
5893.1.1
by Martin Pool
Improve mini-tutorial: |
38 |
Bazaar records changes to source code, and it records who made the change. |
39 |
The person is identified by their name and email address. (If you're |
|
40 |
concerned about spam, you don't need to use a real address that you |
|
41 |
actually read, but the convention is that it looks like an email address.) |
|
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
42 |
|
5893.1.1
by Martin Pool
Improve mini-tutorial: |
43 |
Before you start working, let's tell Bazaar who you are. Using your name |
44 |
and email address, instead of John Doe's, type:: |
|
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
45 |
|
46 |
$ bzr whoami "John Doe <john.doe@gmail.com>" |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
47 |
|
5893.1.1
by Martin Pool
Improve mini-tutorial: |
48 |
You can check what identity is stored in Bazaar's configuration:: |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
49 |
|
50 |
$ bzr whoami |
|
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
51 |
John Doe <john.doe@gmail.com> |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
52 |
|
53 |
||
5893.1.1
by Martin Pool
Improve mini-tutorial: |
54 |
Starting a new project |
55 |
====================== |
|
56 |
||
57 |
Let's suppose we want to store a new project under Bazaar. First, we'll |
|
5997.1.1
by Martin Pool
Fix truncated sentence in mini-tutorial (thanks Wojtek Murawski) |
58 |
make a *repository directory* to hold all our work related to this |
6006.1.2
by Martin Pool
Explain more about repository directory, and don't forget to mention to initially add files |
59 |
project, where developers can create branches to test development of |
60 |
specific features or, more generally, modifications to the working file |
|
61 |
set. |
|
62 |
||
63 |
After creating the repository, change to that directory, and create the |
|
64 |
project's main trunk branch. |
|
6015.43.4
by Martin Pool
Tweak syntax to work with non-sphinx docutils |
65 |
|
66 |
:: |
|
6015.43.2
by Martin Pool
Improvements and corrections to mini-tutorial, especially wrt Launchpad. |
67 |
|
68 |
$ bzr init-repo sample |
|
69 |
Shared repository with trees (format: 2a) |
|
70 |
Location: |
|
6015.43.4
by Martin Pool
Tweak syntax to work with non-sphinx docutils |
71 |
shared repository: sample |
6015.43.2
by Martin Pool
Improvements and corrections to mini-tutorial, especially wrt Launchpad. |
72 |
$ bzr init sample/trunk |
73 |
$ cd sample/trunk |
|
74 |
Created a repository tree (format: 2a) |
|
75 |
Using shared repository: /home/john/sample/ |
|
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
76 |
|
77 |
||
6006.1.2
by Martin Pool
Explain more about repository directory, and don't forget to mention to initially add files |
78 |
Adding files |
79 |
============ |
|
80 |
||
81 |
Now that we have the trunk, we need to move to that directory and |
|
82 |
create some example files for the first version of that project. Create |
|
83 |
a file ``test1.txt`` using a text editor (like emacs, nano, or notepad), |
|
84 |
and save it. Then we'll "add" the file, which tells bzr we want it to |
|
85 |
track changes:: |
|
86 |
||
87 |
bzr add test1.txt |
|
88 |
||
89 |
and then commit, which saves a snapshot of all versioned files:: |
|
90 |
||
91 |
bzr commit -m "Added first line of text" |
|
92 |
||
93 |
||
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
94 |
Making changes to your files |
95 |
============================ |
|
96 |
||
6006.1.2
by Martin Pool
Explain more about repository directory, and don't forget to mention to initially add files |
97 |
|
3053.9.1
by Ian Clatworthy
Doc tweaks from David Roberts and Aaron Bentley for 1.0 (Ian Clatworthy) |
98 |
Let's change a file and commit that change to your branch. |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
99 |
|
6015.43.2
by Martin Pool
Improvements and corrections to mini-tutorial, especially wrt Launchpad. |
100 |
Edit ``test1.txt`` in your favourite editor, then use ``bzr add`` to tell bzr |
101 |
to track changes to this file :: |
|
102 |
||
103 |
$ echo test test test > test1.txt |
|
104 |
$ bzr add test1.txt |
|
105 |
adding test1.txt |
|
106 |
||
107 |
`bzr diff` shows the changes between the last revision in this branch, and your |
|
108 |
current tree (or, with the ``-r`` option, between any two trees). :: |
|
2866.2.4
by Matthew Revell
mini-tutorial revision 3 |
109 |
|
2866.2.5
by Matthew Revell
Updated with Launchpad push and poolie, John G and Jam changes |
110 |
$ bzr diff |
2866.2.4
by Matthew Revell
mini-tutorial revision 3 |
111 |
=== modified file 'test1.txt' |
112 |
--- test1.txt 2007-10-08 17:56:14 +0000 |
|
113 |
+++ test1.txt 2007-10-08 17:46:22 +0000 |
|
114 |
@@ -0,0 +1,1 @@ |
|
115 |
+test test test |
|
2691.1.11
by Ian Clatworthy
Added mini tutorial |
116 |
|
2866.2.7
by Matthew Revell
Ian, John AM, Poolie, John G comments acted on. Corrected bzr send section, used 'parent' instead of 'main' branch, included two publishing sections - one for LP and one for sftp. |
117 |
Commit your work to the Bazaar branch:: |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
118 |
|
3035.1.1
by John Arbash Meinel
Address bug #59302 and fix documentation that uses single quotes. |
119 |
$ bzr commit -m "Added first line of text" |
6015.43.2
by Martin Pool
Improvements and corrections to mini-tutorial, especially wrt Launchpad. |
120 |
Committing to: /home/john/sample/trunk/ |
121 |
added test1.txt |
|
122 |
Committed revision 1. |
|
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
123 |
|
124 |
Viewing the revision log |
|
2691.1.11
by Ian Clatworthy
Added mini tutorial |
125 |
======================== |
126 |
||
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
127 |
You can see the history of your branch by browsing its log:: |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
128 |
|
6015.43.3
by Martin Pool
Doc formatting cleanups |
129 |
$ bzr log |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
130 |
revno: 1 |
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
131 |
committer: John Doe <john.doe@gmail.com> |
6015.43.2
by Martin Pool
Improvements and corrections to mini-tutorial, especially wrt Launchpad. |
132 |
branch nick: trunk |
2866.2.4
by Matthew Revell
mini-tutorial revision 3 |
133 |
timestamp: Mon 2006-10-08 17:46:22 +0000 |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
134 |
message: |
2866.2.4
by Matthew Revell
mini-tutorial revision 3 |
135 |
Initial import |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
136 |
|
137 |
||
5749.2.1
by mbp at sourcefrog
For the mini tutorial, just describe publishing to Launchpad, not SFTP |
138 |
Publishing your branch on Launchpad |
139 |
=================================== |
|
140 |
||
141 |
Launchpad is a suite of development and hosting tools for |
|
142 |
software projects. You can use it to publish your branch. (You can |
|
5749.2.5
by Martin Pool
Remove Sphinx-specific syntax |
143 |
also publish branches onto your own server or other hosting services.) |
2866.2.7
by Matthew Revell
Ian, John AM, Poolie, John G comments acted on. Corrected bzr send section, used 'parent' instead of 'main' branch, included two publishing sections - one for LP and one for sftp. |
144 |
|
6015.43.2
by Martin Pool
Improvements and corrections to mini-tutorial, especially wrt Launchpad. |
145 |
The steps to publishing branches on Launchpad are: |
146 |
||
147 |
1. Create a Launchpad account: visit the `Launchpad login page`_ and choose to create a new account. |
|
148 |
||
149 |
.. _Launchpad login page: https://launchpad.net/+login |
|
150 |
||
151 |
2. Bazaar uses the SSH encryption and authentication protocol to connect |
|
152 |
to Launchpad. You need to first `create an SSH key`_ on your own computer, |
|
153 |
by running the command:: |
|
154 |
||
6015.43.3
by Martin Pool
Doc formatting cleanups |
155 |
$ ssh-keygen |
6015.43.2
by Martin Pool
Improvements and corrections to mini-tutorial, especially wrt Launchpad. |
156 |
|
157 |
.. _create an SSH key: https://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair |
|
158 |
||
159 |
3. `Upload your SSH public key to Launchpad`_. |
|
160 |
||
161 |
.. _Upload your SSH public key to Launchpad: https://launchpad.net/~/+editsshkeys |
|
162 |
||
163 |
4. `Make a team for your project`_. Even if you're starting as the only |
|
6583.1.1
by Vincent Ladeuil
Fix tutorial syntax |
164 |
developer on this project, creating a new one now will let you more |
165 |
easily add other people later. |
|
6015.43.2
by Martin Pool
Improvements and corrections to mini-tutorial, especially wrt Launchpad. |
166 |
|
167 |
.. _Make a team for your project: https://help.launchpad.net/Teams/CreatingAndRunning |
|
168 |
||
169 |
5. `Create a project`_. |
|
170 |
||
171 |
.. _Create a project: https://help.launchpad.net/Projects/Registering |
|
172 |
||
173 |
6. Tell Bazaar your Launchpad account name. If your account is john.doe, type :: |
|
174 |
||
6015.43.3
by Martin Pool
Doc formatting cleanups |
175 |
$ bzr launchpad-login john.doe |
6015.43.2
by Martin Pool
Improvements and corrections to mini-tutorial, especially wrt Launchpad. |
176 |
|
177 |
7. `Push the branch for your project`_. Once you've committed your changes |
|
178 |
locally, you can publish them as the trunk of your new project by saying |
|
179 |
||
6015.43.3
by Martin Pool
Doc formatting cleanups |
180 |
$ bzr push lp:~sample-developers/sample/trunk |
6015.43.2
by Martin Pool
Improvements and corrections to mini-tutorial, especially wrt Launchpad. |
181 |
|
182 |
(Of course, using the team and project names you just chose.) |
|
183 |
||
184 |
.. _Push the branch for your project: https://help.launchpad.net/Code/UploadingABranch |
|
2866.2.5
by Matthew Revell
Updated with Launchpad push and poolie, John G and Jam changes |
185 |
|
186 |
Creating your own copy of another branch |
|
187 |
======================================== |
|
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
188 |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
189 |
To work with someone else's code, you can make your own copy of their |
2866.2.7
by Matthew Revell
Ian, John AM, Poolie, John G comments acted on. Corrected bzr send section, used 'parent' instead of 'main' branch, included two publishing sections - one for LP and one for sftp. |
190 |
branch. Let's take a real-world example, Bazaar's GTK interface:: |
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
191 |
|
5893.1.1
by Martin Pool
Improve mini-tutorial: |
192 |
$ bzr init-repo ~/bzr-gtk |
193 |
$ bzr branch lp:~bzr/bzr-gtk/trunk ~/bzr-gtk/john |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
194 |
Branched 292 revision(s). |
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
195 |
|
196 |
Bazaar will download all the files and complete revision history from the |
|
5893.1.1
by Martin Pool
Improve mini-tutorial: |
197 |
bzr-gtk project's trunk branch and create a copy called ``john``. |
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
198 |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
199 |
Now, you have your own copy of the branch and can commit changes with |
200 |
or without a net connection. You can share your branch at any time by |
|
201 |
publishing it and, if the bzr-gtk team want to use your work, Bazaar |
|
2866.2.7
by Matthew Revell
Ian, John AM, Poolie, John G comments acted on. Corrected bzr send section, used 'parent' instead of 'main' branch, included two publishing sections - one for LP and one for sftp. |
202 |
makes it easy for them to merge your branch back into their trunk branch. |
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
203 |
|
204 |
||
205 |
Updating your branch from the main branch |
|
2691.1.11
by Ian Clatworthy
Added mini tutorial |
206 |
========================================= |
207 |
||
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
208 |
While you commit changes to your branch, it's likely that other people will |
2866.2.7
by Matthew Revell
Ian, John AM, Poolie, John G comments acted on. Corrected bzr send section, used 'parent' instead of 'main' branch, included two publishing sections - one for LP and one for sftp. |
209 |
also continue to commit code to the parent branch. |
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
210 |
|
211 |
To make sure your branch stays up to date, you should merge changes from |
|
2866.2.7
by Matthew Revell
Ian, John AM, Poolie, John G comments acted on. Corrected bzr send section, used 'parent' instead of 'main' branch, included two publishing sections - one for LP and one for sftp. |
212 |
the parent into your personal branch:: |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
213 |
|
214 |
$ bzr merge |
|
3596.3.1
by James Westby
Give the user a bit more information about which saved location is being used. |
215 |
Merging from saved parent location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
216 |
All changes applied successfully. |
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
217 |
|
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
218 |
Check what has changed:: |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
219 |
|
220 |
$ bzr diff |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
221 |
|
5893.1.1
by Martin Pool
Improve mini-tutorial: |
222 |
If different branches have made changes to the same areas of the same |
223 |
files, then merging them may generate conflicts. When this happens, |
|
224 |
Bazaar puts text markers like ``<<<<<<<`` into the files, and records them |
|
225 |
in a list of conflicted files. You should edit the files to reflect the |
|
226 |
way you want to resolve the conflicts, use ``bzr diff`` to check the |
|
227 |
changes, and then ``bzr resolve`` to mark them as resolved. |
|
228 |
||
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
229 |
If you're happy with the changes, you can commit them to your personal |
230 |
branch:: |
|
2691.1.11
by Ian Clatworthy
Added mini tutorial |
231 |
|
3035.1.1
by John Arbash Meinel
Address bug #59302 and fix documentation that uses single quotes. |
232 |
$ bzr commit -m "Merge from main branch" |
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
233 |
Committed revision 295. |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
234 |
|
2866.2.5
by Matthew Revell
Updated with Launchpad push and poolie, John G and Jam changes |
235 |
|
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
236 |
Learning more |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
237 |
============= |
238 |
||
3087.2.2
by Alexander Belchenko
fix link to user-guide in mini-tutorial |
239 |
You can find out more about Bazaar in the |
3053.9.1
by Ian Clatworthy
Doc tweaks from David Roberts and Aaron Bentley for 1.0 (Ian Clatworthy) |
240 |
`Bazaar User Guide <../user-guide/index.html>`_. |
2866.2.6
by Matthew Revell
Provisional update if 'learning more' section |
241 |
|
242 |
To learn about Bazaar on the command-line:: |
|
2691.1.11
by Ian Clatworthy
Added mini tutorial |
243 |
|
244 |
$ bzr help |
|
245 |
||
246 |
To learn about the ''foo'' topic or command:: |
|
247 |
||
248 |
$ bzr help foo |
|
5863.2.3
by Jonathan Riddell
more licence for docs |
249 |
|
250 |
Licence |
|
5893.1.1
by Martin Pool
Improve mini-tutorial: |
251 |
======= |
5863.2.3
by Jonathan Riddell
more licence for docs |
252 |
|
253 |
Copyright 2007-2011 Canonical Ltd. Bazaar is free software, and you |
|
254 |
may use, modify and redistribute both Bazaar and this document under |
|
255 |
the terms of the GNU General Public License version 2 or later. See |
|
256 |
<http://www.gnu.org/licenses/>. |