/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
6622.1.24 by Jelmer Vernooij
More doc renames.
1
brz-svn
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
2
=======
3
4
Overview
5
--------
6
6622.1.24 by Jelmer Vernooij
More doc renames.
7
brz-svn lets developers use Breezy as their VCS client on projects
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
8
still using a central Subversion repository. Access to Subversion
6622.1.24 by Jelmer Vernooij
More doc renames.
9
repositories is largely transparent, i.e. you can use most ``brz``
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
10
commands directly on Subversion repositories exactly the same
6622.1.24 by Jelmer Vernooij
More doc renames.
11
as if you were using ``brz`` on native Breezy branches.
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
12
6622.1.24 by Jelmer Vernooij
More doc renames.
13
Many brz-svn users create a local mirror of the central Subversion
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
14
trunk, work in local feature branches, and submit their
15
overall change back to Subversion when it is ready
16
to go. This lets them gain many of the advantages of distributed
17
VCS tools without interrupting existing team-wide processes and
18
tool integration hooks currently built on top of Subversion. Indeed,
6622.1.24 by Jelmer Vernooij
More doc renames.
19
this is a common interim step for teams looking to adopt Breezy but
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
20
who are unable to do so yet for timing or non-technical reasons.
21
6622.1.24 by Jelmer Vernooij
More doc renames.
22
For installation instructions, see the brz-svn home page:
5050.22.1 by John Arbash Meinel
Lots of documentation updates.
23
http://wiki.bazaar.canonical.com/BzrForeignBranches/Subversion.
3423.1.3 by Ian Clatworthy
incorporate feedback from Neil Martinsen-Burrell
24
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
25
26
A simple example
27
----------------
28
6622.1.24 by Jelmer Vernooij
More doc renames.
29
Here's a simple example of how you can use brz-svn to hack on a
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
30
GNOME project like **beagle**. Firstly, setup a local shared repository
31
for storing your branches in and checkout the trunk::
32
6622.1.24 by Jelmer Vernooij
More doc renames.
33
  brz init-repo beagle-repo
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
34
  cd beagle-repo
6622.1.24 by Jelmer Vernooij
More doc renames.
35
  brz checkout svn+ssh://svn.gnome.org/svn/beagle/trunk beagle-trunk
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
36
4714.1.1 by Jelmer Vernooij
Remove --default-rich-root argument in user-guide - the default format is now rich-root-enabled.
37
Next, create a feature branch and hack away::
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
38
6622.1.24 by Jelmer Vernooij
More doc renames.
39
  brz branch beagle-trunk beagle-feature1
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
40
  cd beagle-feature1
3882.5.2 by Jari Aalto
This patch unifies few examples to use same notation as elsewhere int he
41
  (hack, hack, hack)
6622.1.24 by Jelmer Vernooij
More doc renames.
42
  brz commit -m "blah blah blah"
3882.5.2 by Jari Aalto
This patch unifies few examples to use same notation as elsewhere int he
43
  (hack, hack, hack)
6622.1.24 by Jelmer Vernooij
More doc renames.
44
  brz commit -m "blah blah blah"
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
45
46
When the feature is cooked, refresh your trunk mirror and merge
47
your change::
48
49
  cd ../beagle-trunk
6622.1.24 by Jelmer Vernooij
More doc renames.
50
  brz update
51
  brz merge ../beagle-feature1
52
  brz commit -m "Complete comment for SVN commit"
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
53
54
As your trunk mirror is a checkout, committing to it implicitly
55
commits to the real Subversion trunk. That's it!
56
57
58
Using a central repository mirror
59
---------------------------------
60
61
For large projects, it often makes sense to tweak the recipe given above.
62
In particular, the initial checkout can get quite slow so you may wish
6622.1.24 by Jelmer Vernooij
More doc renames.
63
to import the Subversion repository into a Breezy one once and for all
64
for your project, and then branch from that native Breezy repository
65
instead. brz-svn provides the ``svn-import`` command for doing this
3423.1.2 by Ian Clatworthy
add svn-import example
66
repository-to-repository conversion. Here's an example of how to use it::
67
6622.1.24 by Jelmer Vernooij
More doc renames.
68
  brz svn-import svn+ssh://svn.gnome.org/svn/beagle
69
70
Here's the recipe from above updated to use a central Breezy mirror::
71
72
  brz init-repo beagle-repo
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
73
  cd beagle-repo
6622.1.24 by Jelmer Vernooij
More doc renames.
74
  brz branch bzr+ssh://brz.gnome.org/beagle.brz/trunk beagle-trunk
75
  brz branch beagle-trunk beagle-feature1
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
76
  cd beagle-feature1
3882.5.2 by Jari Aalto
This patch unifies few examples to use same notation as elsewhere int he
77
  (hack, hack, hack)
6622.1.24 by Jelmer Vernooij
More doc renames.
78
  brz commit -m "blah blah blah"
3882.5.2 by Jari Aalto
This patch unifies few examples to use same notation as elsewhere int he
79
  (hack, hack, hack)
6622.1.24 by Jelmer Vernooij
More doc renames.
80
  brz commit -m "blah blah blah"
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
81
  cd ../beagle-trunk
6622.1.24 by Jelmer Vernooij
More doc renames.
82
  brz pull
83
  brz merge ../beagle-feature1
84
  brz commit -m "Complete comment for SVN commit"
85
  brz push
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
86
87
In this case, committing to the trunk only commits the merge locally.
88
To commit back to the master Subversion trunk, an additional command
6622.1.24 by Jelmer Vernooij
More doc renames.
89
(``brz push``) is required.
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
90
3431.4.4 by Benjamin Rister
Added missing quotes.
91
Note: You'll need to give ``pull`` and ``push`` the relevant URLs
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
92
the first time you use those commands in the trunk branch. After that,
6622.1.24 by Jelmer Vernooij
More doc renames.
93
brz remembers them.
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
94
95
The final piece of the puzzle in this setup is to put scripts in
6622.1.24 by Jelmer Vernooij
More doc renames.
96
place to keep the central Breezy mirror synchronized with the Subversion
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
97
one. This can be done by adding a cron job, using a Subversion hook,
98
or whatever makes sense in your environment.
99
100
6622.1.24 by Jelmer Vernooij
More doc renames.
101
Limitations of brz-svn
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
102
----------------------
103
6622.1.24 by Jelmer Vernooij
More doc renames.
104
Breezy and Subversion are different tools with different capabilities
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
105
so there will always be some limited interoperability issues.
6622.1.24 by Jelmer Vernooij
More doc renames.
106
Here are some examples current as of brz-svn 0.5.4:
107
108
 * Breezy doesn't support versioned properties
109
110
 * Breezy doesn't support tracking of file copies.
111
112
See the brz-svn web page,
5050.22.1 by John Arbash Meinel
Lots of documentation updates.
113
http://wiki.bazaar.canonical.com/BzrForeignBranches/Subversion,
3416.1.1 by Ian Clatworthy
new structure and initial content for closing chapters
114
for the current list of constraints.