您的位置:首页 > 其它

SVN、CVS、VSS

2011-06-12 22:38 288 查看
SVN是CVS的新一代版本管理软件

 

SVN与CVS的比较

1 存储类型格式

2 速度

3 标志&分支

4 元数据 

5 文件类型 

6 回滚 

7 事务 

 

SVN与VSS的比较

1. 支持重命名

    为了得到更好的代码,开发中需要经常进行重构,重构就经常涉及到文件的重构名,而重命名中 VSS中是不被支持的。

2. 开发的时候不一定要锁定。

  一方面导致重构不方便,另一方面,不能离线开发,使用 SVN就不同,可以带回家继续开发,回来后,提交就行了。

3. 多平台。

 可以支持多个平台下的操作

4. 更好的客户端支持。

 Eclipse 中的 VSS Plugin 不如它的 SVN Plugin 好用。一个在 Windows 下用的 SVN 客户端 TortoiseSVN 也比VSS 的客户端好用(VSS 只有微软提供的一个 GUI 客户端)。

5. 更好地与外围工具集成。

 各种各样的外围工具(主要是服务器端),满足多种需要。如果有需要,也可以自己写插件或管理脚本,开放的架构,允许我们这样做。

6. 方便。

  一个例子:部署应用的时候,以前的做法是找出一个项目中修改过的文件,更新到服务器上去,现在可以在服务器上执行 svn export 命令,把代码库中的最新版本导出,完成部署(也可以替换回老版本)。

7. 速度与稳定性看起来都不错。

  学习它的管理、它的工作方式,是值得的。而 VSS是一个已经被逐渐抛弃的软件。如果时间不是多得没处用,那么就把时间花在最值得花的东西上面。

 

相关软件

SVN(支持BDB和FSFS,2种存储方式)

1、服务端软件(Subversion是开源的,而VisualSVN在Subversion基础上进行的扩展,修改为是基于软件界面形式,但是对于中文支持及域管理等功能是需要付费的)

1、TortoiseSVN客户端

2、AnkhSVN是一款在VS中管理Subversion的插件,您可以在VS中轻松的提交、更新、添加文件,而不用在命令行或资源管理器中提交。而且该插件属于开源项目.

    VS开发中的常见问题解析:

  (1)代码过时。通常会表现为当我们修改了某个文件的某段代码后准备提交时,当点击“commit”时提示part of your code is out of date。这说明我们在对这个文件进行修改时,同时有另外的成员在对这个页面进行修改,这时我们需要首先获取一下最新版本,如果别的成员做过的修改恰好是我们改动的部分,就会有形如“>>>>mine”和“<<<<XXXX”的错误,同时文件上可能会有一个“!”。一般“>>>>mine”下面的表示我们的代码,而“<<<<XXXX”下面的表示其他成员更改的代码。这时我们需要分析决定怎样处理这个错误,处理后要将“>>>>mine”和“<<<<XXXX”提示符删掉。

  (2)修改冲突。有时候我们修改完毕以后将我们的工作提交后才获取最新版本(一般不提倡,最好的做法是提交前先获取最新版本,如果有问题处理问题),获取后开始“重新生成解决方案”出现了我们的web项目BlackJack.Web.csproj无法加载。这是由于我们做了自己的修改提交前并没有及时获取最新版本,导致代码中有重复修改的地方。这时我们需要右击BlackJack.Web.csproj有个选项是“编辑BlackJack.Web.csproj”,然后在打开的文件中搜索“mine”(目的是找到冲突地方),找出后进行分析取舍,完成后再次“重新生成解决方案”后加载web项目,这时就会出现,但因为代码中的冲突依然存在因此会有“!”提示我们,找到相关的冲突的文件处理后会发现文件前的图标变成了红色小方框,代表冲突解决我们就可以编译后提交了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息