~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/en/user-guide/branching_a_project.txt

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2007-11-30 05:43:20 UTC
  • mfrom: (3054.1.1 ianc-integration)
  • Revision ID: pqm@pqm.ubuntu.com-20071130054320-b4oer0rcbiy2ouzg
Bazaar User Guide for 1.0rc (Ian Clatworthy)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
  ===========         ======================================================
 
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.
 
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
 
 
33
A reminder re shared repositories
 
34
---------------------------------
 
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
 
39
be created somewhere under a directory setup as a shared
 
40
repository. For example::
 
41
 
 
42
  bzr init-repo my-repo
 
43
  cd my-repo
 
44
 
 
45
You are now ready to grab a branch from someone else and
 
46
hack away.
 
47
 
 
48
The branch command
 
49
------------------
 
50
 
 
51
To get a copy of an existing branch, use the ``branch`` command.
 
52
The syntax is::
 
53
 
 
54
  bzr branch URL [directory]
 
55
 
 
56
If a directory is not given, one is created based on the last part of
 
57
the URL. Here are some examples showing a network share URL and an
 
58
sftp URL respectively::
 
59
 
 
60
  bzr branch m:/cool-trunk
 
61
  bzr branch sftp://bill@mary-laptop/cool-repo/cool-trunk
 
62
 
 
63
This example shows explicitly giving the directory name to use for the
 
64
new branch::
 
65
 
 
66
  bzr branch /home/mary/cool-repo/cool-trunk cool
 
67
 
 
68
Time and space considerations
 
69
-----------------------------
 
70
 
 
71
Depending on the size of the branch being transferred and the
 
72
speed and latency of the network between your computer and the
 
73
source branch, this initial transfer might take some time.
 
74
Subsequent updates should be much faster as only the
 
75
changes are transferred then.
 
76
 
 
77
Keep in mind that Bazaar is transferring the
 
78
complete history of the branch, not just the latest snapshot.
 
79
As a consequence, you can be off the network (or disconnected
 
80
from the network share) after ``branch`` completes but you'll
 
81
still be able to ``log`` and ``diff`` the history of the
 
82
branch as much as you want. Furthermore, these operations
 
83
are quick as the history is stored locally.
 
84
 
 
85
Note that Bazaar uses smart compression technology to
 
86
minimize the amount of disk space required to store version
 
87
history. In many cases, the complete history of a project
 
88
will take up less disk space than the working copy of
 
89
the latest version.
 
90
 
 
91
As explained in later chapters, Bazaar also has support for
 
92
lightweight checkouts of a branch, i.e. working trees with
 
93
no local storage of history. Of course, disconnected usage
 
94
is not available then but that's a tradeoff you can decide
 
95
to make if local disk space is really tight for you. Support for
 
96
limited lookback into history - *history horizons* - is
 
97
currently under development as well.
 
98
 
 
99
Viewing branch information
 
100
--------------------------
 
101
 
 
102
If you wish to see information about a branch including where it came from,
 
103
use the ``info`` command. For example::
 
104
 
 
105
  bzr info cool
 
106
 
 
107
If no branch is given, information on the current branch is displayed.