version 1.7, 2010/01/20 13:08:15
|
version 1.8, 2010/01/20 13:50:09
|
Line 28 please fill in
|
Line 28 please fill in
|
|
|
please fill in |
please fill in |
|
|
|
### Experiences with Bazaar |
|
|
|
#### Jonathan Perkin (sketch) |
|
|
|
We use bzr at work (MySQL), and while it has a number of problems, it does make dev work easy. |
|
|
|
The Good |
|
|
|
* easy to use |
|
* shared repositories keep local disk usage down |
|
* commercial backing (Canonical) |
|
* cross-platform (works on Windows) |
|
* numerous GUI available |
|
|
|
The Bad: |
|
|
|
* slow |
|
* requires python |
|
|
|
The Ugly: |
|
|
|
* can be really slow |
|
* changing repository formats is a hassle |
|
|
|
A basic example workflow |
|
|
|
<pre> |
|
# create a local shared repository. all objects are held in a .bzr sub-directory, with branches essentially a lightweight checkout |
|
$ bzr init-repo bzr |
|
$ cd bzr |
|
|
|
# fetch HEAD, will take a long time, depending on connectivity |
|
$ bzr branch bzr+ssh://bzr.netbsd.org/netbsd-trunk |
|
|
|
# fetch netbsd-5, as we already have the majority of the code in netbsd-trunk (and therefore .bzr), this takes a fraction of the time |
|
$ bzr branch bzr+ssh://bzr.netbsd.org//netbsd-5 |
|
|
|
# ok, let's do some dev work |
|
$ bzr branch netbsd-trunk netbsd-trunk-sketch-fix-msk |
|
$ cd netbsd-trunk-sketch-fix-msk; hack hack hack |
|
|
|
# the usual cycle of hack/commit/merge |
|
$ bzr diff # show uncommitted diffs |
|
$ bzr commit # commit to local clone |
|
$ bzr merge ../netbsd-trunk # update clone to latest local trunk, OR |
|
$ bzr merge bzr+ssh://bzr.netbsd.org/netbsd-trunk # merge directly from upstream |
|
|
|
# publish our tree for others to review/hack on |
|
$ bzr push bzr+ssh://bzr.netbsd.org/netbsd-trunk-fix-msk |
|
|
|
# got reviewed/tested, let's push it |
|
$ bzr merge bzr+ssh://bzr.netbsd.org/netbsd-trunk |
|
$ bzr missing bzr+ssh://bzr.netbsd.org/netbsd-trunk # show changeset differences |
|
$ bzr push bzr+ssh://bzr.netbsd.org/netbsd-trunk |
|
</pre> |
|
|
|
I personally find this approach a lot more natural than git's way of managing branches itself inside a single working directory. |
|
|
*** |
*** |
|
|
## Conversion experiences |
## Conversion experiences |