/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

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

  • Committer: Richard Wilbur
  • Date: 2016-02-04 19:07:28 UTC
  • mto: This revision was merged to the branch mainline in revision 6618.
  • Revision ID: richard.wilbur@gmail.com-20160204190728-p0zvfii6zase0fw7
Update COPYING.txt from the original http://www.gnu.org/licenses/gpl-2.0.txt  (Only differences were in whitespace.)  Thanks to Petr Stodulka for pointing out the discrepancy.

Show diffs side-by-side

added added

removed removed

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