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 |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
15 |
If you'd prefer a more detailed introduction, take a look at |
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
16 |
`Learning More`_. |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
17 |
|
18 |
||
19 |
Installation |
|
20 |
============ |
|
21 |
||
2866.2.5
by Matthew Revell
Updated with Launchpad push and poolie, John G and Jam changes |
22 |
This guide doesn't describe how to install Bazaar but it's usually very |
23 |
easy. You can find installation instructions at: |
|
24 |
||
25 |
- **GNU/Linux:** Bazaar is probably in your GNU/Linux distribution already. |
|
3270.1.1
by Neil Martinsen-Burrell
change installation instructions for Mac |
26 |
- **Windows:** `installation instructions for Windows`_. |
27 |
- **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 |
28 |
|
3270.1.1
by Neil Martinsen-Burrell
change installation instructions for Mac |
29 |
For other platforms and to install from source code, see the Download_ |
2866.2.4
by Matthew Revell
mini-tutorial revision 3 |
30 |
and Installation_ pages. |
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
31 |
|
5050.22.1
by John Arbash Meinel
Lots of documentation updates. |
32 |
.. _installation instructions for Windows: http://wiki.bazaar.canonical.com/WindowsDownloads |
33 |
.. _installation instructions for Mac OS X: http://wiki.bazaar.canonical.com/MacOSXBundle |
|
34 |
.. _Download: http://wiki.bazaar.canonical.com/Download |
|
35 |
.. _Installation: http://wiki.bazaar.canonical.com/InstallationFaq |
|
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
36 |
|
37 |
||
38 |
Introducing yourself |
|
2691.1.11
by Ian Clatworthy
Added mini tutorial |
39 |
==================== |
40 |
||
2866.2.5
by Matthew Revell
Updated with Launchpad push and poolie, John G and Jam changes |
41 |
Before you start working, it is good to tell Bazaar who you are. That |
42 |
way your work is properly identified in revision logs. |
|
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
43 |
|
44 |
Using your name and email address, instead of John Doe's, type:: |
|
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 |
|
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. |
48 |
Bazaar will now create or modify a configuration file, including your |
49 |
name and email address. |
|
2691.1.11
by Ian Clatworthy
Added mini tutorial |
50 |
|
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
51 |
Now, check that your name and email address are correctly registered:: |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
52 |
|
53 |
$ bzr whoami |
|
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
54 |
John Doe <john.doe@gmail.com> |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
55 |
|
56 |
||
2866.2.5
by Matthew Revell
Updated with Launchpad push and poolie, John G and Jam changes |
57 |
Putting files under version control |
58 |
=================================== |
|
2691.1.11
by Ian Clatworthy
Added mini tutorial |
59 |
|
2866.2.4
by Matthew Revell
mini-tutorial revision 3 |
60 |
Let's create a directory and some files to use with Bazaar:: |
61 |
||
62 |
$ mkdir myproject |
|
63 |
$ cd myproject |
|
64 |
$ mkdir subdirectory |
|
65 |
$ touch test1.txt test2.txt test3.txt subdirectory/test4.txt |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
66 |
|
5193.6.18
by Vincent Ladeuil
All the texinfo files are processed by makeinfo without |
67 |
**Note for Windows users**: use Windows Explorer to create your |
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
68 |
directories, then right-click in those directories and select |
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. |
69 |
``New file`` to create your files. |
2866.2.4
by Matthew Revell
mini-tutorial revision 3 |
70 |
|
4011.6.1
by Frank Aspell
Fixed typos. |
71 |
Now get Bazaar to initialize itself in your project directory:: |
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
72 |
|
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
73 |
$ bzr init |
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
74 |
|
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
75 |
If it looks like nothing happened, don't worry. Bazaar has created a |
2866.2.5
by Matthew Revell
Updated with Launchpad push and poolie, John G and Jam changes |
76 |
branch_ where it will store your files and their revision histories. |
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
77 |
|
5050.22.1
by John Arbash Meinel
Lots of documentation updates. |
78 |
.. _branch: http://wiki.bazaar.canonical.com/Branch |
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
79 |
|
2866.2.5
by Matthew Revell
Updated with Launchpad push and poolie, John G and Jam changes |
80 |
The next step is to tell Bazaar which files you want to track. Running |
81 |
``bzr add`` will recursively add everything in the project:: |
|
82 |
||
83 |
$ bzr add |
|
84 |
added subdirectory |
|
85 |
added test1.txt |
|
86 |
added test2.txt |
|
87 |
added test3.txt |
|
88 |
added subdirectory/test4.txt |
|
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
89 |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
90 |
Next, take a snapshot of your files by committing them to your branch. Add |
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. |
91 |
a message to explain why you made the commit:: |
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
92 |
|
2691.1.11
by Ian Clatworthy
Added mini tutorial |
93 |
$ bzr commit -m "Initial import" |
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
94 |
|
95 |
As Bazaar is a distributed version control system, it doesn't need to |
|
96 |
connect to a central server to make the commit. Instead, Bazaar stores your |
|
2866.2.5
by Matthew Revell
Updated with Launchpad push and poolie, John G and Jam changes |
97 |
branch and all its commits inside the directory you're working with; look |
2866.2.4
by Matthew Revell
mini-tutorial revision 3 |
98 |
for the ``.bzr`` sub-directory. |
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
99 |
|
100 |
||
101 |
Making changes to your files |
|
102 |
============================ |
|
103 |
||
3053.9.1
by Ian Clatworthy
Doc tweaks from David Roberts and Aaron Bentley for 1.0 (Ian Clatworthy) |
104 |
Let's change a file and commit that change to your branch. |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
105 |
|
2866.2.4
by Matthew Revell
mini-tutorial revision 3 |
106 |
Edit ``test1.txt`` in your favourite editor, then check what have you done:: |
107 |
||
2866.2.5
by Matthew Revell
Updated with Launchpad push and poolie, John G and Jam changes |
108 |
$ bzr diff |
2866.2.4
by Matthew Revell
mini-tutorial revision 3 |
109 |
=== modified file 'test1.txt' |
110 |
--- test1.txt 2007-10-08 17:56:14 +0000 |
|
111 |
+++ test1.txt 2007-10-08 17:46:22 +0000 |
|
112 |
@@ -0,0 +1,1 @@ |
|
113 |
+test test test |
|
2691.1.11
by Ian Clatworthy
Added mini tutorial |
114 |
|
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. |
115 |
Commit your work to the Bazaar branch:: |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
116 |
|
3035.1.1
by John Arbash Meinel
Address bug #59302 and fix documentation that uses single quotes. |
117 |
$ bzr commit -m "Added first line of text" |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
118 |
Committed revision 2. |
119 |
||
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
120 |
|
121 |
Viewing the revision log |
|
2691.1.11
by Ian Clatworthy
Added mini tutorial |
122 |
======================== |
123 |
||
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
124 |
You can see the history of your branch by browsing its log:: |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
125 |
|
126 |
$ bzr log |
|
127 |
------------------------------------------------------------ |
|
128 |
revno: 2 |
|
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
129 |
committer: John Doe <john.doe@gmail.com> |
2866.2.4
by Matthew Revell
mini-tutorial revision 3 |
130 |
branch nick: myproject |
131 |
timestamp: Mon 2007-10-08 17:56:14 +0000 |
|
2691.1.11
by Ian Clatworthy
Added mini tutorial |
132 |
message: |
2866.2.5
by Matthew Revell
Updated with Launchpad push and poolie, John G and Jam changes |
133 |
Added first line of text |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
134 |
------------------------------------------------------------ |
135 |
revno: 1 |
|
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
136 |
committer: John Doe <john.doe@gmail.com> |
2866.2.4
by Matthew Revell
mini-tutorial revision 3 |
137 |
branch nick: myproject |
138 |
timestamp: Mon 2006-10-08 17:46:22 +0000 |
|
2691.1.11
by Ian Clatworthy
Added mini tutorial |
139 |
message: |
2866.2.4
by Matthew Revell
mini-tutorial revision 3 |
140 |
Initial import |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
141 |
|
142 |
||
5749.2.1
by mbp at sourcefrog
For the mini tutorial, just describe publishing to Launchpad, not SFTP |
143 |
Publishing your branch on Launchpad |
144 |
=================================== |
|
145 |
||
146 |
Launchpad is a suite of development and hosting tools for |
|
147 |
software projects. You can use it to publish your branch. (You can |
|
5749.2.5
by Martin Pool
Remove Sphinx-specific syntax |
148 |
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. |
149 |
|
2866.2.5
by Matthew Revell
Updated with Launchpad push and poolie, John G and Jam changes |
150 |
If you don't have a Launchpad account, follow the `account signup guide`_ |
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. |
151 |
and `register an SSH key`_ in your new Launchpad account. |
2866.2.5
by Matthew Revell
Updated with Launchpad push and poolie, John G and Jam changes |
152 |
|
153 |
.. _account signup guide: https://help.launchpad.net/CreatingYourLaunchpadAccount |
|
154 |
.. _register an SSH key: https://launchpad.net/people/+me/+editsshkeys |
|
155 |
||
4815.4.3
by Patrick Regan
Used footnote instead of inline note. |
156 |
Replacing ``john.doe`` with your own Launchpad username, type [#]_:: |
157 |
||
4852.3.7
by John Arbash Meinel
you can't put the footnote in the pre-formatted section. |
158 |
$ bzr push lp:~john.doe/+junk/myproject |
159 |
||
4815.4.3
by Patrick Regan
Used footnote instead of inline note. |
160 |
.. [#] Use of the ``lp:`` URL scheme requires bzr 0.92 or later. |
4815.4.1
by Patrick Regan
Add lp: url scheme documentation to mini-tutorial. |
161 |
|
5193.6.18
by Vincent Ladeuil
All the texinfo files are processed by makeinfo without |
162 |
**Note**: ``+junk`` means that this branch isn't associated with any particular |
2866.2.5
by Matthew Revell
Updated with Launchpad push and poolie, John G and Jam changes |
163 |
project in Launchpad. |
164 |
||
4815.4.2
by Patrick Regan
reduced number of "require 0.92" messages. |
165 |
Now, anyone can create their own copy of your branch by typing:: |
4815.4.1
by Patrick Regan
Add lp: url scheme documentation to mini-tutorial. |
166 |
|
167 |
$ bzr branch lp:~john.doe/+junk/myproject |
|
168 |
||
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. |
169 |
You can also see information about your branch, including its revision |
170 |
history, at https://code.launchpad.net/people/+me/+junk/myproject |
|
2866.2.5
by Matthew Revell
Updated with Launchpad push and poolie, John G and Jam changes |
171 |
|
172 |
||
5749.2.1
by mbp at sourcefrog
For the mini tutorial, just describe publishing to Launchpad, not SFTP |
173 |
|
174 |
||
2866.2.5
by Matthew Revell
Updated with Launchpad push and poolie, John G and Jam changes |
175 |
Creating your own copy of another branch |
176 |
======================================== |
|
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
177 |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
178 |
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. |
179 |
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 |
180 |
|
4815.4.1
by Patrick Regan
Add lp: url scheme documentation to mini-tutorial. |
181 |
$ bzr branch lp:~bzr/bzr-gtk/trunk bzr-gtk.john |
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
182 |
Branched 292 revision(s). |
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
183 |
|
184 |
Bazaar will download all the files and complete revision history from the |
|
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
185 |
bzr-gtk project's trunk branch and create a copy called bzr-gtk.john. |
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
186 |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
187 |
Now, you have your own copy of the branch and can commit changes with |
188 |
or without a net connection. You can share your branch at any time by |
|
189 |
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. |
190 |
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' |
191 |
|
192 |
||
193 |
Updating your branch from the main branch |
|
2691.1.11
by Ian Clatworthy
Added mini tutorial |
194 |
========================================= |
195 |
||
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
196 |
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. |
197 |
also continue to commit code to the parent branch. |
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
198 |
|
199 |
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. |
200 |
the parent into your personal branch:: |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
201 |
|
202 |
$ bzr merge |
|
3596.3.1
by James Westby
Give the user a bit more information about which saved location is being used. |
203 |
Merging from saved parent location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
204 |
All changes applied successfully. |
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
205 |
|
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
206 |
Check what has changed:: |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
207 |
|
208 |
$ bzr diff |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
209 |
|
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
210 |
If you're happy with the changes, you can commit them to your personal |
211 |
branch:: |
|
2691.1.11
by Ian Clatworthy
Added mini tutorial |
212 |
|
3035.1.1
by John Arbash Meinel
Address bug #59302 and fix documentation that uses single quotes. |
213 |
$ bzr commit -m "Merge from main branch" |
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
214 |
Committed revision 295. |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
215 |
|
2866.2.5
by Matthew Revell
Updated with Launchpad push and poolie, John G and Jam changes |
216 |
|
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. |
217 |
Merging your work into the parent branch |
218 |
======================================== |
|
219 |
||
220 |
After you've worked on your personal branch of bzr-gtk, you may want to |
|
221 |
send your changes back upstream to the project. The easiest way is to |
|
2866.2.8
by Matthew Revell
Changed 'bundle' to 'merge directive' on Aaron's suggestion, using his description of a merge directive |
222 |
use a merge directive. |
223 |
||
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
224 |
A merge directive is a machine-readable request to perform a |
225 |
particular merge. It usually contains a patch preview of the merge |
|
226 |
and either contains the necessary revisions, or provides a branch |
|
2866.2.8
by Matthew Revell
Changed 'bundle' to 'merge directive' on Aaron's suggestion, using his description of a merge directive |
227 |
where they can be found. |
228 |
||
229 |
Replacing ``mycode.patch``, create your merge directive:: |
|
230 |
||
231 |
$ bzr send -o mycode.patch |
|
3596.3.1
by James Westby
Give the user a bit more information about which saved location is being used. |
232 |
Using saved parent location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk |
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
233 |
|
2866.2.10
by Matthew Revell
Fixed typos. |
234 |
You can now email the merge directive to the bzr-gtk project who, if |
235 |
they choose, can use it merge your work back into the parent branch. |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
236 |
|
237 |
||
2866.2.1
by Matthew Revell
Rewrite of mini-tutorial as 'Bazaar in 5 minutes' |
238 |
Learning more |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
239 |
============= |
240 |
||
3087.2.2
by Alexander Belchenko
fix link to user-guide in mini-tutorial |
241 |
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) |
242 |
`Bazaar User Guide <../user-guide/index.html>`_. |
2866.2.6
by Matthew Revell
Provisional update if 'learning more' section |
243 |
|
244 |
To learn about Bazaar on the command-line:: |
|
2691.1.11
by Ian Clatworthy
Added mini tutorial |
245 |
|
246 |
$ bzr help |
|
247 |
||
2866.2.2
by Matthew Revell
second revision of new Bazaar in Five Minutes |
248 |
To learn about Bazaar commands:: |
2691.1.11
by Ian Clatworthy
Added mini tutorial |
249 |
|
250 |
$ bzr help commands |
|
251 |
||
252 |
To learn about the ''foo'' topic or command:: |
|
253 |
||
254 |
$ bzr help foo |