bzr branch
http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
1 |
.. This file is in Python ReStructuredText format - it can be formatted |
2 |
.. into HTML or text. In the future we plan to extract the example commands |
|
3 |
.. and automatically test them. |
|
4 |
||
|
1861.2.6
by Alexander Belchenko
branding: change Bazaar-NG to Bazaar |
5 |
=============== |
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
6 |
Breezy Tutorial |
|
1861.2.6
by Alexander Belchenko
branding: change Bazaar-NG to Bazaar |
7 |
=============== |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
8 |
|
9 |
||
10 |
Introduction |
|
11 |
============ |
|
12 |
||
|
4852.4.1
by Patrick Regan
Change references from Revision Control to Version Control |
13 |
If you are already familiar with decentralized version control, then |
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
14 |
please feel free to skip ahead to "Introducing Yourself to Breezy". If, |
|
4852.4.1
by Patrick Regan
Change references from Revision Control to Version Control |
15 |
on the other hand, you are familiar with version control but not |
16 |
decentralized version control, then please start at "How DVCS is |
|
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
17 |
different." Otherwise, get some coffee or tea, get comfortable and get |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
18 |
ready to catch up. |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
19 |
|
|
4852.4.1
by Patrick Regan
Change references from Revision Control to Version Control |
20 |
The purpose of version control |
|
4859.1.1
by Ian Clatworthy
Revision Control -> Version Control in docs |
21 |
============================== |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
22 |
|
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
23 |
Odds are that you have worked on some sort of textual data -- the sources |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
24 |
to a program, web sites or the config files that Unix system |
25 |
administrators have to deal with in /etc. The chances are also good that |
|
26 |
you have made some sort of mistake that you deeply regretted. Perhaps you |
|
27 |
deleted the configuration file for your mailserver or perhaps mauled the |
|
28 |
source code for a pet project. Whatever happened, you have just deleted |
|
29 |
important information that you would desperately like to get back. If this |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
30 |
has ever happened to you, then you are probably ready for Breezy. |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
31 |
|
|
4852.4.1
by Patrick Regan
Change references from Revision Control to Version Control |
32 |
Version control systems (which I'll henceforth call VCS) such as |
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
33 |
Breezy give you the ability to track changes for a directory by turning |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
34 |
it into something slightly more complicated than a directory that we call |
35 |
a **branch**. The branch not only stores how the directory looks right |
|
36 |
now, but also how it looked at various points in the past. Then, when you |
|
37 |
do something you wish you hadn't, you can restore the directory to the way |
|
38 |
it looked at some point in the past. |
|
39 |
||
|
4852.4.1
by Patrick Regan
Change references from Revision Control to Version Control |
40 |
Version control systems give users the ability to save changes to a |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
41 |
branch by "committing a **revision**". The revision created is essentially |
42 |
a summary of the changes that were made since the last time the tree was |
|
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
43 |
saved. |
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
44 |
|
45 |
These revisions have other uses as well. For example, one can comment |
|
46 |
revisions to record what the recent set of changes meant by providing an |
|
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
47 |
optional log message. Real life log messages include things like "Fixed |
|
5538.2.2
by Zearin
Continued capitalization fixes ([S]FTP, SSH). |
48 |
the web template to close the table" and "Added SFTP suppport. Fixes #595" |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
49 |
|
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
50 |
We keep these logs so that if later there is some sort of problem with |
|
5538.2.2
by Zearin
Continued capitalization fixes ([S]FTP, SSH). |
51 |
SFTP, we can figure out when the problem probably happened. |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
52 |
|
|
4852.4.1
by Patrick Regan
Change references from Revision Control to Version Control |
53 |
How DVCS is different |
|
4634.38.1
by Ian Clatworthy
first cut at pdf docs via sphinx |
54 |
===================== |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
55 |
|
|
4852.4.1
by Patrick Regan
Change references from Revision Control to Version Control |
56 |
Many Version Control Systems (VCS) are stored on servers. If one wants to |
57 |
work on the code stored within a VCS, then one needs to connect to the |
|
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
58 |
server and "checkout" the code. Doing so gives one a directory in which a |
|
4852.4.1
by Patrick Regan
Change references from Revision Control to Version Control |
59 |
person can make changes and then commit. The VCS client then connects to |
60 |
the VCS server and stores the changes. This method is known as the |
|
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
61 |
centralized model. |
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
62 |
|
|
4852.4.1
by Patrick Regan
Change references from Revision Control to Version Control |
63 |
The centralized model can have some drawbacks. A centralized VCS requires |
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
64 |
that one is able to connect to the server whenever one wants to do version |
|
2293.1.1
by Brad Crittenden
Corrected some trivial grammar and spelling mistakes. |
65 |
control work. This can be a bit of a problem if your server is on some other |
66 |
machine on the internet and you are not. Or, worse yet, you **are** on the |
|
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
67 |
internet but the server is missing! |
68 |
||
|
4852.4.1
by Patrick Regan
Change references from Revision Control to Version Control |
69 |
Decentralized Version Control Systems (which I'll call DVCS after this |
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
70 |
point) deal with this problem by keeping branches on the same machine as |
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
71 |
the client. In Breezy's case, the branch is kept in the same place as |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
72 |
the code that is being version controlled. This allows the user to save |
73 |
his changes (**commit**) whenever he wants -- even if he is offline. The |
|
74 |
user only needs internet access when he wants to access the changes in |
|
75 |
someone else's branch that are somewhere else. |
|
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
76 |
|
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
77 |
|
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
78 |
A common requirement that many people have is the need to keep track of |
79 |
the changes for a directory such as file and subdirectory changes. |
|
80 |
Performing this tracking by hand is a awkward process that over time |
|
81 |
becomes unwieldy. That is, until one considers version control tools such |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
82 |
as Breezy. These tools automate the process of storing data by creating |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
83 |
a **revision** of the directory tree whenever the user asks. |
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
84 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
85 |
Version control software such as Breezy can do much more than just |
86 |
storage and performing undo. For example, with Breezy a developer can |
|
|
2293.1.6
by Brad Crittenden
post review changes |
87 |
take the modifications in one branch of software and apply them to a |
88 |
related branch -- even if those changes exist in a branch owned by |
|
89 |
somebody else. This allows developers to cooperate without giving |
|
90 |
write access to the repository. |
|
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
91 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
92 |
Breezy remembers the ''ancestry'' of a revision: the previous revisions |
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
93 |
that it is based upon. A single revision may have more than one direct |
94 |
descendant, each with different changes, representing a divergence in the |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
95 |
evolution of the tree. By branching, Breezy allows multiple people to |
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
96 |
cooperate on the evolution of a project, without all needing to work in |
97 |
strict lock-step. Branching can be useful even for a single developer. |
|
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
98 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
99 |
Introducing yourself to Breezy |
|
1861.2.6
by Alexander Belchenko
branding: change Bazaar-NG to Bazaar |
100 |
============================== |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
101 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
102 |
Breezy installs a single new command, **brz**. Everything else is a |
103 |
subcommand of this. You can get some help with ``brz help``. Some arguments |
|
104 |
are grouped in topics: ``brz help topics`` to see which topics are available. |
|
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
105 |
|
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
106 |
One function of a version control system is to keep track of who changed |
107 |
what. In a decentralized system, that requires an identifier for each |
|
108 |
author that is globally unique. Most people already have one of these: an |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
109 |
email address. Breezy is smart enough to automatically generate an email |
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
110 |
address by looking up your username and hostname. If you don't like the |
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
111 |
guess that Breezy makes, then three options exist: |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
112 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
113 |
1. Set an email address via ``brz whoami``. This is the simplest way. |
|
4487.3.2
by Dmitry Vasiliev
Removed accidental blockquote |
114 |
|
115 |
To set a global identity, use:: |
|
116 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
117 |
% brz whoami "Your Name <email@example.com>" |
|
4487.3.2
by Dmitry Vasiliev
Removed accidental blockquote |
118 |
|
119 |
If you'd like to use a different address for a specific branch, enter |
|
120 |
the branch folder and use:: |
|
121 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
122 |
% brz whoami --branch "Your Name <email@example.com>" |
|
4487.3.2
by Dmitry Vasiliev
Removed accidental blockquote |
123 |
|
124 |
#. Setting the email address in the ``~/.bazaar/bazaar.conf`` [1]_ by |
|
125 |
adding the following lines. Please note that ``[DEFAULT]`` is case |
|
126 |
sensitive:: |
|
127 |
||
128 |
[DEFAULT] |
|
129 |
email=Your Name <email@isp.com> |
|
130 |
||
131 |
As above, you can override this settings on a branch by branch basis |
|
132 |
by creating a branch section in ``~/.bazaar/locations.conf`` and |
|
133 |
adding the following lines:: |
|
134 |
||
135 |
[/the/path/to/the/branch] |
|
136 |
email=Your Name <email@isp.com> |
|
137 |
||
138 |
||
139 |
#. Overriding the two previous options by setting the global environment |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
140 |
variable ``$brz_EMAIL`` or ``$EMAIL`` (``$brz_EMAIL`` will take |
|
4487.3.2
by Dmitry Vasiliev
Removed accidental blockquote |
141 |
precedence) to your full email address. |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
142 |
|
|
1836.1.9
by John Arbash Meinel
Add global ignore information to the tutorial. |
143 |
.. [1] On Windows, the users configuration files can be found in the |
144 |
application data directory. So instead of ``~/.bazaar/branch.conf`` |
|
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
145 |
the configuration file can be found as: |
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
146 |
``C:\Documents and Settings\<username>\Application Data\Breezy\2.0\branch.conf``. |
|
1836.1.9
by John Arbash Meinel
Add global ignore information to the tutorial. |
147 |
The same is true for ``locations.conf``, ``ignore``, and the |
148 |
``plugins`` directory. |
|
149 |
||
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
150 |
Creating a branch |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
151 |
================= |
152 |
||
|
2293.1.1
by Brad Crittenden
Corrected some trivial grammar and spelling mistakes. |
153 |
History is by default stored in the .bzr directory of the branch. In a |
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
154 |
future version of Breezy, there will be a facility to store it in a |
|
2977.1.1
by Ian Clatworthy
First cut at new look User Guide including chapters 1 and 2 |
155 |
separate repository, which may be remote. |
156 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
157 |
We create a new branch by running ``brz init`` in an existing directory:: |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
158 |
|
159 |
% mkdir tutorial |
|
160 |
% cd tutorial |
|
161 |
% ls -a |
|
162 |
./ ../ |
|
163 |
% pwd |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
164 |
/home/mbp/work/brz.test/tutorial |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
165 |
% |
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
166 |
% brz init |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
167 |
% ls -aF |
168 |
./ ../ .bzr/ |
|
169 |
% |
|
170 |
||
|
2293.1.1
by Brad Crittenden
Corrected some trivial grammar and spelling mistakes. |
171 |
As with CVS, there are three classes of file: unknown, ignored, and |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
172 |
versioned. The **add** command makes a file versioned: that is, changes |
173 |
to it will be recorded by the system:: |
|
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
174 |
|
175 |
% echo 'hello world' > hello.txt |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
176 |
% brz status |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
177 |
unknown: |
178 |
hello.txt |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
179 |
% brz add hello.txt |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
180 |
added hello.txt |
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
181 |
% brz status |
|
2495.4.1
by Matthew Fuller
Get rid of references to 'bzr unknowns'. |
182 |
added: |
183 |
hello.txt |
|
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
184 |
|
185 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
186 |
If you add the wrong file, simply use ``brz remove`` to make it |
|
2495.4.2
by Matthew Fuller
rm does sometimes remove the file now. Try and make that a little |
187 |
unversioned again. This does not delete the working copy in this case, |
188 |
though it may in others [2]_. |
|
189 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
190 |
.. [2] ``brz remove`` will remove the working copy if it is currently |
|
2495.4.2
by Matthew Fuller
rm does sometimes remove the file now. Try and make that a little |
191 |
versioned, but has no changes from the last committed version. You |
192 |
can force the file to always be kept with the ``--keep`` option to |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
193 |
``brz remove``, or force it to always be deleted with ``--force``. |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
194 |
|
195 |
Branch locations |
|
196 |
================ |
|
197 |
||
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
198 |
All history is stored in a branch, which is just an on-disk directory |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
199 |
containing control files. By default there is no separate repository or |
200 |
database as used in svn or svk. You can choose to create a repository if |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
201 |
you want to (see the ``brz init-repo`` command). You may wish to do this |
|
2293.1.1
by Brad Crittenden
Corrected some trivial grammar and spelling mistakes. |
202 |
if you have very large branches, or many branches of a moderately sized |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
203 |
project. |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
204 |
|
205 |
You'll usually refer to branches on your computer's filesystem just by |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
206 |
giving the name of the directory containing the branch. brz also supports |
|
5761.1.1
by Martin Pool
Recommend SSH rather than SFTP in user documentation examples |
207 |
accessing branches over SSH, HTTP and SFTP, amongst other things:: |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
208 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
209 |
% brz log brz+ssh://code.launchpad.net/~brz/brz/brz.dev/ |
210 |
% brz log http://code.launchpad.net/~brz/brz/brz.dev/ |
|
211 |
% brz log sftp://code.launchpad.net/~brz/brz/brz.dev/ |
|
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
212 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
213 |
By installing brz plugins you can also access branches using the rsync |
|
2293.1.6
by Brad Crittenden
post review changes |
214 |
protocol. |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
215 |
|
|
2495.4.3
by Matthew Fuller
X-ref "Publishing your branch" section from the discussion of branch |
216 |
See the `Publishing your branch`_ section for more about how to put your |
217 |
branch at a given location. |
|
218 |
||
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
219 |
Reviewing changes |
220 |
================= |
|
221 |
||
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
222 |
Once you have completed some work, you will want to **commit** it to the |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
223 |
version history. It is good to commit fairly often: whenever you get a |
224 |
new feature working, fix a bug, or improve some code or documentation. |
|
225 |
It's also a good practice to make sure that the code compiles and passes |
|
226 |
its test suite before committing, to make sure that every revision is a |
|
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
227 |
known-good state. You can also review your changes, to make sure you're |
228 |
committing what you intend to, and as a chance to rethink your work before |
|
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
229 |
you permanently record it. |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
230 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
231 |
Two brz commands are particularly useful here: **status** and **diff**. |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
232 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
233 |
brz status |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
234 |
---------- |
235 |
||
236 |
The **status** command tells you what changes have been made to the |
|
237 |
working directory since the last revision:: |
|
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
238 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
239 |
% brz status |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
240 |
modified: |
241 |
foo |
|
242 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
243 |
``brz status`` hides "boring" files that are either unchanged or ignored. |
|
2495.4.9
by Matthew Fuller
Don't point people at the nonexistent 'status --all'. |
244 |
The status command can optionally be given the name of some files or |
245 |
directories to check. |
|
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
246 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
247 |
brz diff |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
248 |
-------- |
249 |
||
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
250 |
The **diff** command shows the full text of changes to all files as a |
251 |
standard unified diff. This can be piped through many programs such as |
|
252 |
''patch'', ''diffstat'', ''filterdiff'' and ''colordiff'':: |
|
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
253 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
254 |
% brz diff |
|
2495.4.4
by Matthew Fuller
Adjust diff output to look like diff output looks. |
255 |
=== added file 'hello.txt' |
256 |
--- hello.txt 1970-01-01 00:00:00 +0000 |
|
257 |
+++ hello.txt 2005-10-18 14:23:29 +0000 |
|
258 |
@@ -0,0 +1,1 @@ |
|
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
259 |
+hello world |
260 |
||
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
261 |
|
|
2495.4.14
by Matthew Fuller
Be more consistent about using `` around options and filenames. |
262 |
With the ``-r`` option, the tree is compared to an earlier revision, or |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
263 |
the differences between two versions are shown:: |
264 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
265 |
% brz diff -r 1000.. # everything since r1000 |
266 |
% brz diff -r 1000..1100 # changes from 1000 to 1100 |
|
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
267 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
268 |
The ``--diff-options`` option causes brz to run the external diff program, |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
269 |
passing options. For example:: |
270 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
271 |
% brz diff --diff-options --side-by-side foo |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
272 |
|
|
2495.4.14
by Matthew Fuller
Be more consistent about using `` around options and filenames. |
273 |
Some projects prefer patches to show a prefix at the start of the path |
274 |
for old and new files. The ``--prefix`` option can be used to provide |
|
|
2495.2.5
by Aaron Bentley
Zap trailing whitespace |
275 |
such a prefix. |
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
276 |
As a shortcut, ``brz diff -p1`` produces a form that works with the |
|
1694.2.3
by Martin Pool
Add -p0, -p1 options for diff. |
277 |
command ``patch -p1``. |
278 |
||
|
4634.38.1
by Ian Clatworthy
first cut at pdf docs via sphinx |
279 |
|
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
280 |
Committing changes |
281 |
================== |
|
282 |
||
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
283 |
When the working tree state is satisfactory, it can be **committed** to |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
284 |
the branch, creating a new revision holding a snapshot of that state. |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
285 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
286 |
brz commit |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
287 |
---------- |
288 |
||
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
289 |
The **commit** command takes a message describing the changes in the |
290 |
revision. It also records your userid, the current time and timezone, and |
|
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
291 |
the inventory and contents of the tree. The commit message is specified |
|
2495.4.14
by Matthew Fuller
Be more consistent about using `` around options and filenames. |
292 |
by the ``-m`` or ``--message`` option. You can enter a multi-line commit |
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
293 |
message; in most shells you can enter this just by leaving the quotes open |
294 |
at the end of the line. |
|
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
295 |
|
296 |
:: |
|
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
297 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
298 |
% brz commit -m "added my first file" |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
299 |
|
|
2495.4.14
by Matthew Fuller
Be more consistent about using `` around options and filenames. |
300 |
You can also use the ``-F`` option to take the message from a file. Some |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
301 |
people like to make notes for a commit message while they work, then |
302 |
review the diff to make sure they did what they said they did. (This file |
|
303 |
can also be useful when you pick up your work after a break.) |
|
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
304 |
|
305 |
Message from an editor |
|
|
4634.38.1
by Ian Clatworthy
first cut at pdf docs via sphinx |
306 |
---------------------- |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
307 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
308 |
If you use neither the ``-m`` nor the ``-F`` option then brz will open an |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
309 |
editor for you to enter a message. The editor to run is controlled by |
|
2495.4.11
by Matthew Fuller
Use `` instead of ` around a bunch of options and env variable namings |
310 |
your ``$VISUAL`` or ``$EDITOR`` environment variable, which can be overridden |
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
311 |
by the ``editor`` setting in ``~/.bazaar/bazaar.conf``; ``$brz_EDITOR`` will |
|
2135.1.2
by Matthew Fuller
Mention $VISUAL here, and play with the wording of the other ways of |
312 |
override either of the above mentioned editor options. If you quit the |
313 |
editor without making any changes, the commit will be cancelled. |
|
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
314 |
|
|
2598.6.5
by ghigo
On the basis of the email from Martin, Aaron I changed the encoding logic |
315 |
The file that is opened in the editor contains a horizontal line. The part |
316 |
of the file below this line is included for information only, and will not |
|
317 |
form part of the commit message. Below the separator is shown the list of |
|
318 |
files that are changed in the commit. You should write your message above |
|
319 |
the line, and then save the file and exit. |
|
320 |
||
321 |
If you would like to see the diff that will be committed as you edit the |
|
|
2598.6.11
by ghigo
update to the latest bzr.dev |
322 |
message you can use the ``--show-diff`` option to ``commit``. This will include |
|
2598.6.5
by ghigo
On the basis of the email from Martin, Aaron I changed the encoding logic |
323 |
the diff in the editor when it is opened, below the separator and the |
324 |
information about the files that will be committed. This means that you can |
|
325 |
read it as you write the message, but the diff itself wont be seen in the |
|
326 |
commit message when you have finished. If you would like parts to be |
|
327 |
included in the message you can copy and paste them above the separator. |
|
328 |
||
|
4848.2.1
by Patrick Regan
Added closing bugs to tutorial |
329 |
Marking bugs as fixed |
330 |
--------------------- |
|
331 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
332 |
Many changes to a project are as a result of fixing bugs. Breezy can keep |
|
4848.2.1
by Patrick Regan
Added closing bugs to tutorial |
333 |
metadata about bugs you fixed when you commit them. To do this you use the |
334 |
``--fixes`` option. This option takes an argument that looks like this:: |
|
335 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
336 |
% brz commit --fixes <tracker>:<id> |
|
4848.2.1
by Patrick Regan
Added closing bugs to tutorial |
337 |
|
|
4848.2.3
by Patrick Regan
'www.' to 'bugs.' and rm 'for for' typo |
338 |
Where ``<tracker>`` is an identifier for a bug tracker and ``<id>`` is an |
|
4848.2.1
by Patrick Regan
Added closing bugs to tutorial |
339 |
identifier for a bug that is tracked in that bug tracker. ``<id>`` is usually |
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
340 |
a number. Breezy already knows about a few popular bug trackers. They are |
|
4848.2.3
by Patrick Regan
'www.' to 'bugs.' and rm 'for for' typo |
341 |
bugs.launchpad.net, bugs.debian.org, and bugzilla.gnome.org. These trackers |
|
4848.2.2
by Patrick Regan
Fix punctuation and spacing typos. |
342 |
have their own identifiers: lp, deb, and gnome respectively. For example, |
|
4848.2.3
by Patrick Regan
'www.' to 'bugs.' and rm 'for for' typo |
343 |
if you made a change to fix the bug #1234 on bugs.launchpad.net, you would |
|
4848.2.1
by Patrick Regan
Added closing bugs to tutorial |
344 |
use the following command to commit your fix:: |
345 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
346 |
% brz commit -m "fixed my first bug" --fixes lp:1234 |
|
4848.2.1
by Patrick Regan
Added closing bugs to tutorial |
347 |
|
348 |
For more information on this topic or for information on how to configure |
|
349 |
other bug trackers please read `Bug Tracker Settings`_. |
|
350 |
||
351 |
.. _Bug Tracker Settings: ../user-reference/index.html#bug-tracker-settings |
|
352 |
||
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
353 |
Selective commit |
354 |
---------------- |
|
355 |
||
356 |
If you give file or directory names on the commit command line then only |
|
357 |
the changes to those files will be committed. For example:: |
|
358 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
359 |
% brz commit -m "documentation fix" commit.py |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
360 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
361 |
By default brz always commits all changes to the tree, even if run from a |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
362 |
subdirectory. To commit from only the current directory down, use:: |
363 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
364 |
% brz commit . |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
365 |
|
366 |
||
367 |
Removing uncommitted changes |
|
368 |
============================ |
|
369 |
||
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
370 |
If you've made some changes and don't want to keep them, use the |
371 |
**revert** command to go back to the previous head version. It's a good |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
372 |
idea to use ``brz diff`` first to see what will be removed. By default the |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
373 |
revert command reverts the whole tree; if file or directory names are |
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
374 |
given then only those ones will be affected. ``brz revert`` also clears the |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
375 |
list of pending merges revisions. |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
376 |
|
|
4634.38.1
by Ian Clatworthy
first cut at pdf docs via sphinx |
377 |
|
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
378 |
Ignoring files |
379 |
============== |
|
380 |
||
|
4634.38.1
by Ian Clatworthy
first cut at pdf docs via sphinx |
381 |
The .bzrignore file |
382 |
------------------- |
|
383 |
||
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
384 |
Many source trees contain some files that do not need to be versioned, |
385 |
such as editor backups, object or bytecode files, and built programs. You |
|
386 |
can simply not add them, but then they'll always crop up as unknown files. |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
387 |
You can also tell brz to ignore these files by adding them to a file |
|
2495.4.14
by Matthew Fuller
Be more consistent about using `` around options and filenames. |
388 |
called ``.bzrignore`` at the top of the tree. |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
389 |
|
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
390 |
This file contains a list of file wildcards (or "globs"), one per line. |
391 |
Typical contents are like this:: |
|
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
392 |
|
393 |
*.o |
|
394 |
*~ |
|
395 |
*.tmp |
|
396 |
*.py[co] |
|
397 |
||
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
398 |
If a glob contains a slash, it is matched against the whole path from the |
399 |
top of the tree; otherwise it is matched against only the filename. So |
|
400 |
the previous example ignores files with extension ``.o`` in all |
|
|
2495.4.14
by Matthew Fuller
Be more consistent about using `` around options and filenames. |
401 |
subdirectories, but this example ignores only ``config.h`` at the top level |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
402 |
and HTML files in ``doc/``:: |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
403 |
|
404 |
./config.h |
|
405 |
doc/*.html |
|
406 |
||
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
407 |
To get a list of which files are ignored and what pattern they matched, |
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
408 |
use ``brz ignored``:: |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
409 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
410 |
% brz ignored |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
411 |
config.h ./config.h |
412 |
configure.in~ *~ |
|
413 |
||
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
414 |
It is OK to have either an ignore pattern match a versioned file, or to |
415 |
add an ignored file. Ignore patterns have no effect on versioned files; |
|
416 |
they only determine whether unversioned files are reported as unknown or |
|
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
417 |
ignored. |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
418 |
|
|
1836.1.9
by John Arbash Meinel
Add global ignore information to the tutorial. |
419 |
The ``.bzrignore`` file should normally be versioned, so that new copies |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
420 |
of the branch see the same patterns:: |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
421 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
422 |
% brz add .bzrignore |
423 |
% brz commit -m "Add ignore patterns" |
|
424 |
||
425 |
||
426 |
brz ignore |
|
|
4800.2.2
by Patrick Regan
Reworded ignore to keep extra verbage down. |
427 |
---------- |
|
4800.2.1
by Patrick Regan
Added clarifying text about ignore command. |
428 |
|
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
429 |
As an alternative to editing the ``.bzrignore`` file, you can use the |
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
430 |
``brz ignore`` command. The ``brz ignore`` command takes filenames and/or |
|
4800.2.1
by Patrick Regan
Added clarifying text about ignore command. |
431 |
patterns as arguments and then adds them to the ``.bzrignore`` file. If a |
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
432 |
``.bzrignore`` file does not exist the ``brz ignore`` command will |
|
4800.2.1
by Patrick Regan
Added clarifying text about ignore command. |
433 |
automatically create one for you, and implicitly add it to be versioned:: |
434 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
435 |
% brz ignore tags |
436 |
% brz status |
|
|
4800.2.1
by Patrick Regan
Added clarifying text about ignore command. |
437 |
added: |
438 |
.bzrignore |
|
439 |
||
440 |
Just like when editing the ``.bzrignore`` file on your own, you should |
|
441 |
commit the automatically created ``.bzrignore`` file:: |
|
442 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
443 |
% brz commit -m "Added tags to ignore file" |
|
4800.2.1
by Patrick Regan
Added clarifying text about ignore command. |
444 |
|
445 |
||
|
4634.38.1
by Ian Clatworthy
first cut at pdf docs via sphinx |
446 |
Global ignores |
|
1836.1.9
by John Arbash Meinel
Add global ignore information to the tutorial. |
447 |
-------------- |
448 |
||
449 |
There are some ignored files which are not project specific, but more user |
|
450 |
specific. Things like editor temporary files, or personal temporary files. |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
451 |
Rather than add these ignores to every project, brz supports a global |
|
1836.1.9
by John Arbash Meinel
Add global ignore information to the tutorial. |
452 |
ignore file in ``~/.bazaar/ignore`` [1]_. It has the same syntax as the |
453 |
per-project ignore file. |
|
454 |
||
455 |
||
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
456 |
Examining history |
457 |
================= |
|
458 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
459 |
brz log |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
460 |
------- |
461 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
462 |
The ``brz log`` command shows a list of previous revisions. The ``brz log |
|
2495.4.10
by Matthew Fuller
Be consistent about using `` instead of ** around commands. |
463 |
--forward`` command does the same in chronological order to get most |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
464 |
recent revisions printed at last. |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
465 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
466 |
As with ``brz diff``, ``brz log`` supports the ``-r`` argument:: |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
467 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
468 |
% brz log -r 1000.. # Revision 1000 and everything after it |
469 |
% brz log -r ..1000 # Everything up to and including r1000 |
|
470 |
% brz log -r 1000..1100 # changes from 1000 to 1100 |
|
471 |
% brz log -r 1000 # The changes in only revision 1000 |
|
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
472 |
|
473 |
||
474 |
Branch statistics |
|
475 |
================= |
|
476 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
477 |
The ``brz info`` command shows some summary information about the working |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
478 |
tree and the branch history. |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
479 |
|
480 |
||
481 |
Versioning directories |
|
482 |
====================== |
|
483 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
484 |
brz versions files and directories in a way that can keep track of renames |
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
485 |
and intelligently merge them:: |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
486 |
|
487 |
% mkdir src |
|
488 |
% echo 'int main() {}' > src/simple.c
|
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
489 |
% brz add src |
|
1740.4.1
by Matthew Fuller
Make status output actually look like status output. |
490 |
added src |
491 |
added src/simple.c |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
492 |
% brz status |
|
1740.4.1
by Matthew Fuller
Make status output actually look like status output. |
493 |
added: |
494 |
src/ |
|
495 |
src/simple.c |
|
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
496 |
|
497 |
||
498 |
Deleting and removing files |
|
499 |
=========================== |
|
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
500 |
|
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
501 |
You can delete files or directories by just deleting them from the working |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
502 |
directory. This is a bit different to CVS, which requires that you also |
|
2495.4.10
by Matthew Fuller
Be consistent about using `` instead of ** around commands. |
503 |
do ``cvs remove``. |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
504 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
505 |
``brz remove`` makes the file un-versioned, but may or may not delete the |
|
4487.3.1
by Dmitry Vasiliev
Small formatting fixes |
506 |
working copy [2]_. This is useful when you add the wrong file, or decide that |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
507 |
a file should actually not be versioned. |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
508 |
|
509 |
:: |
|
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
510 |
|
511 |
% rm -r src |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
512 |
% brz remove -v hello.txt |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
513 |
? hello.txt |
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
514 |
% brz status |
|
1740.4.1
by Matthew Fuller
Make status output actually look like status output. |
515 |
removed: |
516 |
hello.txt |
|
517 |
src/ |
|
518 |
src/simple.c |
|
519 |
unknown: |
|
520 |
hello.txt |
|
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
521 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
522 |
If you remove the wrong file by accident, you can use ``brz revert`` to |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
523 |
restore it. |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
524 |
|
525 |
||
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
526 |
Branching |
527 |
========= |
|
528 |
||
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
529 |
Often rather than starting your own project, you will want to submit a |
|
2495.4.6
by Matthew Fuller
Reorganize some text to emphasize 'bzr branch' over grabbing a tarball |
530 |
change to an existing project. To do this, you'll need to get a copy of |
531 |
the existing branch. Because this new copy is potentially a new branch, |
|
532 |
the command is called **branch**:: |
|
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
533 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
534 |
% brz branch lp:brz brz.dev |
535 |
% cd brz.dev |
|
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
536 |
|
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
537 |
This copies down the complete history of this branch, so we can do all |
538 |
operations on it locally: log, annotate, making and merging branches. |
|
539 |
There will be an option to get only part of the history if you wish. |
|
540 |
||
|
2495.4.6
by Matthew Fuller
Reorganize some text to emphasize 'bzr branch' over grabbing a tarball |
541 |
You can also get a copy of an existing branch by copying its directory, |
542 |
expanding a tarball, or by a remote copy using something like rsync. |
|
543 |
||
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
544 |
Following upstream changes |
545 |
========================== |
|
546 |
||
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
547 |
You can stay up-to-date with the parent branch by "pulling" in their |
548 |
changes:: |
|
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
549 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
550 |
% brz pull |
|
974.1.26
by aaron.bentley at utoronto
merged mbp@sourcefrog.net-20050817233101-0939da1cf91f2472 |
551 |
|
|
1649.1.1
by Robert Collins
* 'pull' and 'push' now normalise the revision history, so that any two |
552 |
After this change, the local directory will be a mirror of the source. This |
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
553 |
includes the ''revision-history'' - which is a list of the commits done in |
|
1649.1.1
by Robert Collins
* 'pull' and 'push' now normalise the revision history, so that any two |
554 |
this branch, rather than merged from other branches. |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
555 |
|
|
1649.1.1
by Robert Collins
* 'pull' and 'push' now normalise the revision history, so that any two |
556 |
This command only works if your local (destination) branch is either an |
557 |
older copy of the parent branch with no new commits of its own, or if the |
|
558 |
most recent commit in your local branch has been merged into the parent |
|
559 |
branch. |
|
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
560 |
|
561 |
Merging from related branches |
|
562 |
============================= |
|
563 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
564 |
If two branches have diverged (both have unique changes) then ``brz |
|
2495.4.10
by Matthew Fuller
Be consistent about using `` instead of ** around commands. |
565 |
merge`` is the appropriate command to use. Merge will automatically |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
566 |
calculate the changes that exist in the branch you're merging from that |
567 |
are not in your branch and attempt to apply them in your branch. |
|
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
568 |
|
569 |
:: |
|
570 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
571 |
% brz merge URL |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
572 |
|
573 |
||
|
2293.1.1
by Brad Crittenden
Corrected some trivial grammar and spelling mistakes. |
574 |
If there is a conflict during a merge, 3 files with the same basename |
575 |
are created. The filename of the common base is appended with ".BASE", |
|
576 |
the filename of the file containing your changes is appended with |
|
577 |
".THIS" and the filename with the changes from the other tree is |
|
578 |
appended with ".OTHER". Using a program such as kdiff3, you can now |
|
579 |
comfortably merge them into one file. In order to commit you have to |
|
|
2293.1.6
by Brad Crittenden
post review changes |
580 |
rename the merged file (".THIS") to the original file name. To
|
581 |
complete the conflict resolution you must use the resolve command, |
|
582 |
which will remove the ".OTHER" and ".BASE" files. As long as there |
|
|
2293.1.1
by Brad Crittenden
Corrected some trivial grammar and spelling mistakes. |
583 |
exist files with .BASE, .THIS or .OTHER the commit command will |
|
2293.1.6
by Brad Crittenden
post review changes |
584 |
report an error. |
|
2293.1.1
by Brad Crittenden
Corrected some trivial grammar and spelling mistakes. |
585 |
|
586 |
:: |
|
587 |
||
588 |
% kdiff3 file.BASE file.OTHER file.THIS |
|
589 |
% mv file.THIS file |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
590 |
% brz resolve file |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
591 |
|
592 |
[**TODO**: explain conflict markers within files] |
|
593 |
||
594 |
||
595 |
Publishing your branch |
|
596 |
====================== |
|
|
1610.2.1
by James Blackwell
Copied in docs for wiki & First round cleanup |
597 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
598 |
You don't need a special server to publish a brz branch, just a normal web |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
599 |
server. Just mirror the files to your server, including the .bzr |
600 |
directory. One can push a branch (or the changes for a branch) by one of |
|
601 |
the following three methods: |
|
602 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
603 |
* The best method is to use brz itself to do it. |
|
2495.4.7
by Matthew Fuller
De-emphasize the heck out of manually rsync'ing for 'push', and |
604 |
|
605 |
:: |
|
606 |
||
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
607 |
% brz push brz+ssh://servername.com/path/to/directory |
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
608 |
|
|
2293.1.6
by Brad Crittenden
post review changes |
609 |
(The destination directory must already exist unless the |
610 |
``--create-prefix`` option is used.) |
|
|
1669.1.1
by Martin Pool
Reflow tutorial.txt to fit on 80-col screen (Malone #39657) |
611 |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
612 |
* Another option is the ``rspush`` plugin that comes with brzTools, which |
|
2495.4.7
by Matthew Fuller
De-emphasize the heck out of manually rsync'ing for 'push', and |
613 |
uses rsync to push the changes to the revision history and the working |
614 |
tree. |
|
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
615 |
|
|
4487.3.3
by Dmitry Vasiliev
Typo |
616 |
* You can also copy the files around manually, by sending a tarball, or using |
617 |
rsync, or other related file transfer methods. This is usually less safe |
|
618 |
than using ``push``, but may be faster or easier in some situations. |
|
|
1910.1.3
by Aaron Bentley
Update NEWS and tutorial to describe merge --uncommitted |
619 |
|
|
4634.38.1
by Ian Clatworthy
first cut at pdf docs via sphinx |
620 |
|
|
4853.1.1
by Patrick Regan
Removed trailing whitespace from files in doc directory |
621 |
Moving changes between trees |
|
1910.1.3
by Aaron Bentley
Update NEWS and tutorial to describe merge --uncommitted |
622 |
============================ |
623 |
||
624 |
It happens to the best of us: sometimes you'll make changes in the wrong |
|
625 |
tree. Maybe because you've accidentally started work in the wrong directory, |
|
626 |
maybe because as you're working, the change turns out to be bigger than you |
|
627 |
expected, so you start a new branch for it. |
|
628 |
||
629 |
To move your changes from one tree to another, use |
|
630 |
||
631 |
:: |
|
632 |
||
633 |
% cd NEWDIR |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
634 |
% brz merge --uncommitted OLDDIR |
|
1910.1.3
by Aaron Bentley
Update NEWS and tutorial to describe merge --uncommitted |
635 |
|
636 |
This will apply all of the uncommitted changes you made in OLDDIR to NEWDIR. |
|
637 |
It will not apply committed changes, even if they could be applied to NEWDIR |
|
|
6622.1.23
by Jelmer Vernooij
More renames in English docs. |
638 |
with a regular merge. The changes will remain in OLDDIR, but you can use ``brz |
|
2495.4.10
by Matthew Fuller
Be consistent about using `` instead of ** around commands. |
639 |
revert OLDDIR`` to remove them, once you're satisfied with NEWDIR. |
|
1910.1.3
by Aaron Bentley
Update NEWS and tutorial to describe merge --uncommitted |
640 |
|
641 |
NEWDIR does not have to be a copy of OLDDIR, but they should be related. |
|
642 |
The more different they are, the greater the chance of conflicts. |