2977.1.5
by Ian Clatworthy
added chapter on Sharing with a peer |
1 |
Branching a project |
2 |
=================== |
|
3 |
||
4 |
Branch URLs |
|
5 |
----------- |
|
6 |
||
7 |
Before someone else can get a copy of your work, you need to |
|
8 |
agree on a transfer technology. |
|
9 |
You may decide to make the top level directory of your branch |
|
10 |
a network share, an approach familiar to Windows users. |
|
11 |
Linux and OS X users might prefer access to be |
|
12 |
via SFTP, a secure protocol built-in to most SSH servers. |
|
13 |
Bazaar is *very* flexible in this regard with support for |
|
14 |
lots of protocols some of which are given below. |
|
15 |
||
16 |
=========== ====================================================== |
|
17 |
Prefix Description |
|
18 |
=========== ====================================================== |
|
4734.1.1
by John Szakmeister
Prevent several partial URLs from being highlighted by Sphinx. |
19 |
\file:// Access using the standard filesystem (default) |
20 |
\sftp:// Access using SFTP (most SSH servers provide SFTP). |
|
21 |
\bzr:// Fast access using the Bazaar smart server. |
|
22 |
\ftp:// Access using passive FTP. |
|
23 |
\http:// Read-only access to branches exported by a web server. |
|
2977.1.5
by Ian Clatworthy
added chapter on Sharing with a peer |
24 |
=========== ====================================================== |
25 |
||
26 |
As indicated above, branches are identified using URLs with the |
|
27 |
prefix indicating the transfer technology. If no prefix is given, |
|
28 |
normal filenames are assumed. For a complete list of supported |
|
29 |
protocols, see the ``urlspec`` online help topic or the |
|
30 |
`URL Identifiers <../user-reference/bzr_man.html#url-identifiers>`_ |
|
31 |
section of the Bazaar User Reference. |
|
32 |
||
3234.1.1
by Neil Martinsen-Burrell
minor doc changes |
33 |
A reminder about shared repositories |
34 |
------------------------------------ |
|
2977.1.5
by Ian Clatworthy
added chapter on Sharing with a peer |
35 |
|
36 |
Before getting a copy of a branch, have a quick think about |
|
37 |
where to put it on your filesystem. For maximum storage |
|
38 |
efficiency down the track, it is recommended that branches |
|
3234.1.1
by Neil Martinsen-Burrell
minor doc changes |
39 |
be created somewhere under a directory that has been set up |
4634.39.41
by Ian Clatworthy
Fix the broken links in the User Guide |
40 |
as a shared repository. (See `Feature branches |
41 |
<organizing_your_workspace.html#feature-branches>`_ in |
|
42 |
`Organizing your workspace <organizing_your_workspace.html>`_ |
|
43 |
for a commonly used layout.) For example:: |
|
2977.1.5
by Ian Clatworthy
added chapter on Sharing with a peer |
44 |
|
45 |
bzr init-repo my-repo |
|
46 |
cd my-repo |
|
47 |
||
48 |
You are now ready to grab a branch from someone else and |
|
49 |
hack away. |
|
50 |
||
51 |
The branch command |
|
52 |
------------------ |
|
53 |
||
3427.6.1
by James Westby
Small tweaks to the "branch" command documentation in the user guide. |
54 |
To get a branch based on an existing branch, use the ``branch`` command. |
2977.1.5
by Ian Clatworthy
added chapter on Sharing with a peer |
55 |
The syntax is:: |
56 |
||
57 |
bzr branch URL [directory] |
|
58 |
||
59 |
If a directory is not given, one is created based on the last part of |
|
3427.6.2
by James Westby
Refer to a "drive qualified path" as suggested by Aaron. |
60 |
the URL. Here are some examples showing a drive qualified path (M:/) and an |
2977.1.5
by Ian Clatworthy
added chapter on Sharing with a peer |
61 |
sftp URL respectively:: |
62 |
||
3427.6.2
by James Westby
Refer to a "drive qualified path" as suggested by Aaron. |
63 |
bzr branch M:/cool-trunk |
2977.1.5
by Ian Clatworthy
added chapter on Sharing with a peer |
64 |
bzr branch sftp://bill@mary-laptop/cool-repo/cool-trunk |
65 |
||
66 |
This example shows explicitly giving the directory name to use for the |
|
67 |
new branch:: |
|
68 |
||
69 |
bzr branch /home/mary/cool-repo/cool-trunk cool |
|
70 |
||
71 |
Time and space considerations |
|
72 |
----------------------------- |
|
73 |
||
74 |
Depending on the size of the branch being transferred and the |
|
75 |
speed and latency of the network between your computer and the |
|
76 |
source branch, this initial transfer might take some time. |
|
2977.1.11
by Ian Clatworthy
make fixes suggested by proof-readers |
77 |
Subsequent updates should be much faster as only the |
2977.1.5
by Ian Clatworthy
added chapter on Sharing with a peer |
78 |
changes are transferred then. |
79 |
||
80 |
Keep in mind that Bazaar is transferring the |
|
81 |
complete history of the branch, not just the latest snapshot. |
|
82 |
As a consequence, you can be off the network (or disconnected |
|
83 |
from the network share) after ``branch`` completes but you'll |
|
84 |
still be able to ``log`` and ``diff`` the history of the |
|
85 |
branch as much as you want. Furthermore, these operations |
|
86 |
are quick as the history is stored locally. |
|
87 |
||
88 |
Note that Bazaar uses smart compression technology to |
|
89 |
minimize the amount of disk space required to store version |
|
90 |
history. In many cases, the complete history of a project |
|
91 |
will take up less disk space than the working copy of |
|
92 |
the latest version. |
|
93 |
||
94 |
As explained in later chapters, Bazaar also has support for |
|
4634.39.44
by Ian Clatworthy
more link fixes in the User Guide |
95 |
`lightweight checkouts <using_checkouts.html#getting-a-lightweight-checkout>`_ |
3779.2.1
by mernst at mit
Improved documentation of stacked and lightweight branches |
96 |
of a branch, i.e. working trees with |
2977.1.5
by Ian Clatworthy
added chapter on Sharing with a peer |
97 |
no local storage of history. Of course, disconnected usage |
98 |
is not available then but that's a tradeoff you can decide |
|
99 |
to make if local disk space is really tight for you. Support for |
|
100 |
limited lookback into history - *history horizons* - is |
|
101 |
currently under development as well. |
|
102 |
||
103 |
Viewing branch information |
|
104 |
-------------------------- |
|
105 |
||
106 |
If you wish to see information about a branch including where it came from, |
|
107 |
use the ``info`` command. For example:: |
|
108 |
||
109 |
bzr info cool |
|
110 |
||
111 |
If no branch is given, information on the current branch is displayed. |