~bzr-pqm/bzr/bzr.dev

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.