Personal tools
You are here: Home 博客群 潘俊勇的Blog 2006 2006-1 bzr(Bazaar NG)又一个版本管理系统
Log in


Forgot your password?
Recent Comments
 如何申请PLONE空间? (xuc2013) 2008-08-25
 我的修改,支持中文字体和换行 (Anonymous User) 2008-08-08
  (oSky) 2007-10-30
 得有银哪! (Zoomq) 2007-10-25
 晕菜 (Anonymous User) 2007-10-21
 
Document Actions

bzr(Bazaar NG)又一个版本管理系统 bzr(Bazaar NG)又一个版本管理系统

Submitted by panjy. on 2006-01-21 02:15. 开源系统
开始关注 Bazaar-NG_ (bzr)这个分布式的版本管理系统,最初的原因有2个:

开始关注 Bazaar-NG (bzr)这个分布式的版本管理系统,最初的原因有2个:

  • 这是Canonical公司支持的一个项目,也就是 ubuntu linux的发行公司
  • 是python编写的

既然有subversion这样的集中式版本管理系统好东东,为什么还要这个产品呢?

进一步用下来,发现一些理由:

  1. 支持脱机工作,方便同步

    这是一个 bzr用户的小故事

    不过 subversion 上据说有一个svk,能够实现这个功能了

  2. 简单, 还是简单

    看看这个 bzr初学者的happy经历 (我觉得这个故事是最佳的bzr入门教程)

    • 不需要安装什么服务器,0管理
    • 透明的存储格式
    • branche就拷贝操作(但会浪费空间?),提交版本不需要申请写权限(所有工作都在branch上完成)
    • 不再需要那么长的url, 所有都是本地操作!!merge操作超级简单
    • 如何定位版本:http://bazaar.canonical.com/BzrRevisionSpec
  3. 小核心,多插件的架构

    bzr很容易加插件,很多高级特性都是以插件的形式提供的,这能够让核心快速前进。

    有大量的 BzrPlugins , 其中 BzrTools 包括:

    • Push: rsync增量提交省带宽
    • Annotate: 显示每行是谁、什么时候修改的
    • Shelve/Unshelve: 比undo更强的undo,可指定回退什么修改!!这个是subversion难奢望的了
    • Clean-Tree: 清理不认识的东东,好像svn没有这个功能?
    • Graph-Ancesty: 使用 dot 图形显示版本历史
    • Shell: 支持自动完成拼写等超强功能的bzr命令解释环境
    • Patch: 加补丁

    看到主页上介绍,可方便在上面编写和工作流相关的功能。这个倒使我觉得和Plone集成可能会比较方便。

疑问:

  1. 做一个分支,需要把整个版本库都拷贝下来。

    这个有一点夸张,如果库很大,特别是二进制图片什么的,岂不非常耗时?

  2. 没有看到subversion的文件属性功能

  3. 没有看到好的web界面

  4. 个人觉得小的代码库用这个管理还不错,大的可能存在问题

  5. 虽然是分布式的,我觉得也还是应该学习subversion,做一个服务器,能够更好的支持增量版本提交(或者利用webdav的功能?)。

参考:

  1. Drupal 也是采用Bazaa-NG管理代码 ,主要是方便代码贡献
  2. 采用分布式,还是集中式的版本管理:
  3. bzr自己是这么组织开发的!
  4. 短小的教程
  5. bzr 是 基于 bazaar 的,而 bazaar 又是基于 arch 的。
  6. darcs 是另外一个更加成熟的分布式版本管理系统,但是采用比较怪异的Haskell语言编写 bzrdarcs 学习了很多,而且在继续学习。

我也在使用中。

Posted by Anonymous User at 2006-02-13 15:15

还有一个优点就是跨平台了,Linux 下创建的仓库可以直接在 Windows 下用。

晕菜

Posted by Anonymous User at 2007-10-21 09:41

跨平台算什么特性,svn仓库不一样有


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: