~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/en/user-guide/publishing_a_branch.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
Publishing a branch
 
2
===================
 
3
 
 
4
Setting up a central repository
 
5
-------------------------------
 
6
 
 
7
While the centralized workflow can be used by socially nominating
 
8
any branch on any computer as the central one, in practice most
 
9
teams have a dedicated server for hosting central branches.
 
10
 
 
11
Just as it's best practice to use a shared repository locally,
 
12
it's advisable to put central branches in a shared repository.
 
13
Note that central shared branches typically only want to
 
14
store history, not working copies of files, so their enclosing
 
15
repository is usually creating using the ``no-trees`` option, e.g.::
 
16
 
 
17
  bzr init-repo --no-trees sftp://centralhost/srv/bzr/X-repo/
 
18
 
 
19
You can think of this step as similar to setting up a new cvsroot or
 
20
Subversion repository.
 
21
 
 
22
Starting a central branch
 
23
-------------------------
 
24
 
 
25
There are two ways of populating a central branch with some initial
 
26
content:
 
27
 
 
28
 1. Making a local branch and pushing it to a central location
 
29
 2. Making an empty central branch then committing content to it.
 
30
 
 
31
Here is an example of the first way::
 
32
 
 
33
  bzr init-repo X-repo
 
34
  bzr init X-repo/X-trunk
 
35
  cd X-repo/X-trunk
 
36
  cp -ar ~/X .     (copy files in using OS-specific tools)
 
37
  bzr add
 
38
  bzr commit -m "Initial import"
 
39
  (local branch has content - publish it centrally now)
 
40
  bzr push sftp://centralhost/srv/bzr/X-repo/X-trunk
 
41
 
 
42
Here is an example of the second way::
 
43
 
 
44
  bzr init-repo X-repo
 
45
  cd X-repo
 
46
  bzr init sftp://centralhost/srv/bzr/X-repo/X-trunk
 
47
  bzr checkout sftp://centralhost/srv/bzr/X-repo/X-trunk
 
48
  cd X-trunk
 
49
  cp -ar ~/X .     (copy files in using OS-specific tools)
 
50
  bzr add
 
51
  bzr commit -m "Initial import"
 
52
 
 
53
Note that committing inside a working tree created using
 
54
the ``checkout`` command implicitly commits the content to
 
55
the central location as well as locally. Had we used the
 
56
``branch`` command instead of ``checkout`` above, the
 
57
content would have only been committed locally.
 
58
 
 
59
Working trees that are tightly bound to a central location
 
60
like this are called *checkouts*. The rest of this chapter
 
61
explains their numerous features in more detail.