猛禽的编程艺术

编程是一门艺术

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

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

我常用的Extensions

微笑图书室 多背一公斤

最近评论
yanyiwei2003:新建一个c/c++群 63774360 欢迎加入
希望是大家学习探讨的空中园地 爱灌水者请勿加,因为希望大家都是真心真意为了学习,共同进步走在一块的,当然探讨程序员的方方面面,我们也热烈欢迎!谢谢!
magician0o0:你好,能抽空教教我关于使用hg合并的具体操作吗?我使用的版本是v1,按照网站上的那个helloworld的例子运行得到的结果不同,谢谢
lanphaday:韩寒说了:深绿色在中国就代表慢,比如中国邮政和中国火车。
fayfarn:是你没有弄清楚Windows下的Unicode实现方法而已,不能用Unix的实现思路来看待Windows
Raptor:我现在用的就是Mercurial,不过它也有一些不方便之处,我在第一篇里有说到,下一篇还会详细说它。
文章分类
收藏
    相册
    附图
    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

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

    新一篇: 分布式版本控制(二) | 旧一篇: 跨平台中文文件名乱码的解决

    虽然我使用传统SCM(软件配置管理,或者叫RCS——版本控制系统)软件已经有很多年,从那个垃圾一般的VSS到功能强大的CVS和SVN都用过 一段时间,短则半年(VSS),长则数年(SVN)。但是对于分布式版本控制系统(DRCS),我也是刚接触不久,发现它们的确很不错,相比传统SCM来 说,是一种质的变化。

    所谓DRCS是相对于传统集中式的SCM而言的。对于传统SCM来说,Repository是集中在唯一的一个地方, 所有的用户进行commit或update以及其它的相关操作基本上都需要能够直接连接到这个Repository才能进行。这就会存在一些比较麻烦的问 题,就我个人的体会来说,常见的麻烦事在于(以下仅以CVS和SVN为例,至于VSS——不能为rubbish浪费时间):

    1、并不是所有的开发者都总能连接到Repository服务器,比如在没有网络连接或是网络连接受限的情况——当然SVN提供的HTTP访问方式部分解决了这种困难,但仍然不够。

    2、在团队协作开发中,当变更冲突增加以后,处理起来会比较麻烦。

    3、分支管理方面的功能还较弱。

    4、安全性问题。不论是用独立服务器方式还是HTTP方式,用户认证方式都相对简单,当然也可以配置得更安全,但比较麻烦。

    5、最后一个小问题就是:不论是CVS还是SVN,都会在工作目录的每个子目录里创建一个隐藏目录记录本地状态信息,比较烦人。

    而DRCS的目标就是尽可能解决传统SCM存在的不足之处——包括但不限于我上面所说的那些。就我目前试用过的两个DRCS——Bazaar和Mercurial——来说,上面的问题都解决得比较好:

    1、都可以在本地提供全部的版本控制功能,可以只在必要的时候合并更新到公共Repository中。

    2、因为是针对分布式开发设计,变更合并功能强大。

    3、分支管理功能同样强大。

    4、Bazaar支持SFTP方式的push,而Mercurial支持SSH方式的push,二者都是基于安全的通讯协议并且使用系统的用户管理机制,在保证安全性的同时保持了使用上的简单性。

    5、只在工作目录的顶层生成一个隐藏目录——就是本地Repository,保持了工作目录的清爽。

    显然,DRCS天生是为了开源项目而量身定制的——因为开源项目的开发者往往都是在地理上极度分散的,但又需要对源码进行有效的版本管理。但是对于其它的软件项目来说,DRCS也同样是个好东西,特别是其变更合并功能和分支管理功能。

    后面我会简单介绍一下我最近试用过的两款比较流行的DRCS——Bazaar和Mercurial。

    其实这两款DRCS在命令定义方面都是继承传统的,所以学习起来并没有太大的复杂性,并且具有很多的共性——二者除了程序名不一样以外,常用的命令和参数定义都几乎是完全一样的,甚至一些配置文件都是类似的。

    (未完待续)

    发表于 @ 2008年02月29日 16:44:00|评论(loading...)|编辑

    新一篇: 分布式版本控制(二) | 旧一篇: 跨平台中文文件名乱码的解决

    评论

    #mikeshi 发表于2008-03-06 08:49:14  IP: 192.168.6.*
    太惨了,竟然在床上等你的首页上了,还没有人留言,我就踩你一脚吧
    发表评论  


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