~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Alexander Belchenko
  • Date: 2006-07-30 16:43:12 UTC
  • mto: (1711.2.111 jam-integration)
  • mto: This revision was merged to the branch mainline in revision 1906.
  • Revision ID: bialix@ukr.net-20060730164312-b025fd3ff0cee59e
rename  gpl.txt => COPYING.txt

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/PROJECT
18
 
 
19
 
You can think of this step as similar to setting up a new cvsroot or
20
 
Subversion repository. However, Bazaar gives you more flexibility
21
 
in how branches may be organised in your repository. See
22
 
`Advanced shared repository layouts <shared_repository_layouts.html>`_
23
 
in the appendices for guidelines and examples.
24
 
 
25
 
 
26
 
Starting a central branch
27
 
-------------------------
28
 
 
29
 
There are two ways of populating a central branch with some initial
30
 
content:
31
 
 
32
 
 1. Making a local branch and pushing it to a central location
33
 
 2. Making an empty central branch then committing content to it.
34
 
 
35
 
Here is an example of the first way::
36
 
 
37
 
  bzr init-repo PROJECT  (prepare local repository)
38
 
  bzr init PROJECT/trunk
39
 
  cd PROJECT/trunk
40
 
                         (copy development files)
41
 
  cp -ar ~/PROJECT .     (copy files in using OS-specific tools)
42
 
  bzr add                (populate repository; start version control)
43
 
  bzr commit -m "Initial import"
44
 
                         (publish to central repository)
45
 
  bzr push sftp://centralhost/srv/bzr/PROJECT/trunk
46
 
 
47
 
Here is an example of the second way::
48
 
 
49
 
  bzr init-repo PROJECT  (prepare local repository)
50
 
  cd PROJECT
51
 
  bzr init sftp://centralhost/srv/bzr/PROJECT/trunk
52
 
  bzr checkout sftp://centralhost/srv/bzr/PROJECT/trunk
53
 
  cd trunk
54
 
  cp -ar ~/PROJECT .     (copy files in using OS-specific tools)
55
 
  bzr add                (populate repository; start version control)
56
 
  bzr commit -m "Initial import"
57
 
                         (publish to central repository)
58
 
 
59
 
Note that committing inside a working tree created using
60
 
the ``checkout`` command implicitly commits the content to
61
 
the central location as well as locally. Had we used the
62
 
``branch`` command instead of ``checkout`` above, the
63
 
content would have only been committed locally.
64
 
 
65
 
Working trees that are tightly bound to a central location
66
 
like this are called *checkouts*. The rest of this chapter
67
 
explains their numerous features in more detail.