猛禽的编程艺术

编程是一门艺术

猛禽ID:Raptor
406575次访问,排名110好友5人,关注者12
编程序——通常有BUG
写BLOG——都是些八卦
拍MM——没人给偶拍
Raptor的文章
原创 131 篇
翻译 0 篇
转载 0 篇
评论 856 篇
猛禽的公告
本站作者:猛禽
号:老鸟,别号:大叔,英文名:Raptor。

Creative Commons License
本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。
联系方式:


我常用的Extensions

最近评论
hdnero:wow gold
yanyiwei2003:新建一个c/c++群 63774360 欢迎加入
希望是大家学习探讨的空中园地 爱灌水者请勿加,因为希望大家都是真心真意为了学习,共同进步走在一块的,当然探讨程序员的方方面面,我们也热烈欢迎!谢谢!
magician0o0:你好,能抽空教教我关于使用hg合并的具体操作吗?我使用的版本是v1,按照网站上的那个helloworld的例子运行得到的结果不同,谢谢
lanphaday:韩寒说了:深绿色在中国就代表慢,比如中国邮政和中国火车。
fayfarn:是你没有弄清楚Windows下的Unicode实现方法而已,不能用Unix的实现思路来看待Windows
文章分类
收藏
    相册
    附图
    0. 个人链接
    1. 猛禽的河蟹BLOG(RSS)
    2. 寻找世界的美丽(RSS)
    3. Mental Studio-个人主页(RSS)
    5. 猛禽专栏-CSDN上的个人专栏
    6. 猛禽文档-CSDN个人技术文档
    7. CSDN电子报
    1. CSDN BLOG
    1. 令狐虫
    2. 韩磊(RSS)
    3. lxpbuaa(桂枝香在故国晚秋)
    4. 一竿残照.金棣@CODELPHI
    5. deadcat's blog
    6. gigix(透明思考)
    7. ozzzzzz
    8. 蝈蝈
    2. 技术BLOG
    chechy
    CoolSlob
    FrameSniper(FS)
    hkbarton
    leeon
    SnowFlacon
    小伍
    小小
    小眼镜
    我的ACE,TAO
    摩托
    百合MM
    3. 洋人BLOG
    Allen Bauer
    Anders Ohlsson
    Danny Thorpe
    Don Box
    Herb.Sutter
    James Gosling
    Martin Fowler
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 分布式版本控制(二)收藏

    新一篇: 分布式版本控制(三)

    本篇介绍Bazaar

    我知道Bazaar是从livid那里看到的,他这篇介绍基本上就是翻译Bazaar官方的一个快速入门文档,强烈推荐参考一下。

    Bazaar的优点在于功能强大并且安装使用很方便。因为是用Python写的,只要在安装了Python之后,再安装一下Bazaar就可以使用了。需要注意的是,它的SFTP功能使用了两个包: pycrypto和paramiko。这是需要额外安装一下的。刚好我安装Bazaar的时候两个包的官方网站都不太正常(难道是RPWT?),最后只好通过GOOGLE找到别的镜像才下载到。

    Bazaar 的缺点是速度太慢。它的慢倒不是像云风所说的那样,对大项目太慢,而是因为它是纯python的程序,在windows下每次运行都要启动python环 境,所以每次输入命令都要等上一会儿才执行,对于像我这种经常用status命令检查的人或是那些用小步迭代的XP方式开发的人来说,比较难以忍受。

    据 说也有一个类似TortoiseSVN的ToroiseBZR,但是鉴于我对TSVN的使用经验来说,Windows的Explorer已经很不稳定了, 再加这个东东就不稳定得受不了了。所以我还是不用Tortoise了,再说用惯了命令行操作在很多时候比用Tortoise还方便。

    基本的使用方法参见前面链接的那篇livid翻译的快速入门吧。我这里只说一下远程Repository操作方面的问题。

    把本地Repository的更新提交到远程Repository可以通过SFTP,这也就意味着服务端是免安装免配置的,这一点我觉得实在是太方便了。

    bzr push sftp://jod@jod.example.com/public_html/foobar.joe/

    如果要从远程Repository取得一个本地副本,理论上也可以通过SFTP:

    bzr branch sftp://jod@jod.example.com/public_html/foobar.joe/

    不 过试用下来我碰到一个问题,通过SFTP作push是没有问题,但是如上面的命令作checkout或branch操作时,却只会下载一个本地 Repository的副本(.bzr目录),不会生成工作目录和文件。即使再用update也不行,不知道是不是我RPWT,还是下来的这个.bzr本 身就有问题。但换成HTTP就可以了:

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

    但 这样就麻烦一些,一个是安全性的问题,当然可以用HTTP-Auth加上身份验证,但毕竟没有SFTP安全;另一个是需要在服务端作Web Server配置,允许通过HTTP访问远程Repository;第三个问题是HTTP是只读的,这样上传和下载需要使用不同的URL。

    Web Server端的配置倒不复杂,标准的WEB静态页面访问配置即可。例如(包含HTTP-Auth身份验证):

      Alias /bzr /home/bzr
    <Directory /home/bzr>
    Options FollowSymLinks
    AllowOverride FileInfo Indexes Limit
    Order allow,deny
    Allow from all

    AuthType Basic
    AuthName "Bazaar Repository Files"
    AuthUserFile /home/svn/svn-auth-dev
    Require valid-user
    </Directory>

    另外,可以使用.bzrignore文件从工作目录中忽略不需要加入管理的文件,参见这个介绍,这一点比以前用TortoiseSVN时要方便很多。用如下命令可以列出项目工作目录中被忽略掉的文件:

    bzr ignored

    还有,据云风说,Bazaar有一个巨大的优点就是智能重命名,避免了大量文件的remove/add操作,这的确是一个很大的优点,特别是对于大项目来说。

    关于Bazaar的更多信息,参见这里

    (未完待续)

     

    发表于 @ 2008年03月04日 09:47:00|评论(loading...)|编辑

    旧一篇: 分布式版本控制(一)

    评论

    #seahoyel 发表于2008-03-05 13:02:17  IP: 10.167.144.*
    bazaar慢并不是因为python,博主可以试试同样用python写的分布式版本管理工具mercurial(hg)。
    http://www.selenic.com/mercurial/wiki/
    #Raptor 发表于2008-03-07 09:23:54  IP: 203.94.2.*
    我现在用的就是Mercurial,不过它也有一些不方便之处,我在第一篇里有说到,下一篇还会详细说它。
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 猛禽