http://bazaar-vcs.org/zh/Bzr%E9%80%9F%E6%88%90?action=show&redirect=zh%2FQuickHackingWithBzr参考自: {en} QuickHackingWithBzr 版本6

这是一份非常简要的五分钟教程,只涉及初次接触 bzr 的用户使用 Bazaar-NG 来管理项目所需的知识。

相关资料:

  • Bzr介绍 - 篇幅较长的教程,介绍了大部分有用的特性

  • 文档 - 完整的文档

获取 bzr

请参看 Distro下载 ,可能已经存在您所用发行版对应的软件包。

把自己介绍给 bzr

您也许希望自己的名字和 email 出现在修订日志里。

创建 ~/.bazaar/bazaar.conf ,并加上自己的 email :

[DEFAULT]
email = Joe Doe <joe.doe@gmail.com>

现在输入如下命令:

$ bzr whoami
Joe Doe <joe.doe@gmail.com>

创建您自己的分支

您可以在自己的分支上开展工作。在创建好分支后,您就不再需要通过 web 访问来提交自己的修改:

$ bzr branch http://examle.com/code/foobar.dev foobar.joe
Branched 1 revision(s).

Hacking

$ cd foobar.joe
$ hack...

来看看自己的成果:

$ bzr diff
=== modified file 'foo.c'
--- foo.c
+++ foo.c
@@ -30,6 +30,7 @@

#include "foo.h"

+
static PyObject *
_pyfribidi_log2vis (PyObject * self, PyObject * args, PyObject * kw)
{

该是时候提交自己的辛苦劳动:

$ bzr commit -m 'added some whitespace'
Committed revision 2.

查看修订日志

$ bzr log
------------------------------------------------------------
revno: 2
committer: Joe Doe <joe.doe@gmail.com>
branch nick: foobar.joe
timestamp: Mon 2006-02-06 01:33:35 +0200
message:
added some whitespace
------------------------------------------------------------
revno: 1
committer: James Hacker <jmh@example.com>
branch nick: foobar.dev
timestamp: Mon 2006-02-06 01:06:11 +0200
message:
initial revision

从主分支更新自己的分支

当您还在勤勤恳恳的耕耘着自己的分支,其他人或许已经向主分支提交了新的代码。有时,您也许想把主分支上的修改合并到自己的分支里:

$ bzr merge
Using saved location: http://examle.com/code/foobar.dev
All changes applied successfully.

主分支里作了哪些修改?

$ bzr diff
=== modified file 'pyfribidi.c'
--- pyfribidi.c
+++ pyfribidi.c
@@ -236,6 +236,7 @@
PyMem_Del (logical);
PyMem_Del (visual);

+ /* evil hack! */
return result;
}

提交取自主分支的修改(注:当然是提交到自己的分支里):

$ bzr commit -m 'merge from main branch'
Committed revision 6.

发布您的分支

您可以直接使用 rsync 把自己的分支拷贝到 web 服务器上,不过最简单的方法是使用 bzr push 命令。注意该命令将用到 sftp,您还需要安装 paramikopyCrypto 。请参看 安装 wiki 页面。

假定您打算把自己的分支发布到 jod.example.com/foobar.joe 里:

$ bzr push sftp://jod@jod.example.com/public_html/foobar.joe/
2 revision(s) pushed.

现在所有人都可以使用如下命令取得您的分支了(您自己不妨也试试):

bzr get http://jod.example.com/foobar.joe/

学无止境

欲详细了解 bzr 命令,则::

$ bzr help commands

比如,欲详细了解 foo 命令,可使用如下命令::

$ bzr help foo
本文档还以如下格式提供:上载新附件"QuickHackingWithBzr.pdf"