和CVS比较, SVN到底好在什么地方呢?

NP_Complete 2008-03-07 06:04:33
开发SVN的理由是什么?
上次在googletechtalk上看了Linus对于版本控释系统的评价, 现在linux内核开发用git,以前用的
是bitkeeper。 他对SVN的评价是,历史上最没有意义的一个项目。

大家用SVN的动机是啥?
...全文
19715 75 打赏 收藏 转发到动态 举报
写回复
用AI写文章
75 条回复
切换为时间正序
请发表友善的回复…
发表回复
jeff2033333 2012-09-21
  • 打赏
  • 举报
回复
老帖子了,期待有人吐槽svn1.7. 这个版本我用起来非常爽,基本也都解决了所有楼上的问题,性能更是极其出色。
virusswb 2012-07-20
  • 打赏
  • 举报
回复
[Quote=引用 65 楼 的回复:]

唉,中国IT业之悲唉。。
你们在上面嚷嚷了一大堆,无外乎就说CVS是如何如何的难用。SVN操作是如何如何的方便等等。更好笑的是,上面很多问题是自己的操作不当引起的,说成是CVS的缺陷。。。。。唉。。。不知道你们用CVS前到底有没有认真阅读过《CVS操作手册》

请问上面的各位,有几个是:配置管理员(CM)?

CVS最早并不是在Windows下跑的,它的设计继承了Unix文件系统的风格……
[/Quote]
提交原子性如何解释呢!
virusswb 2012-07-20
  • 打赏
  • 举报
回复
1目录操作。
2提交原子性。
3相比cvs,速度快了。
4版本号针对集,不是针对单个文件,便于获取某一个版本号的全部文件。
hsdlionden 2012-07-15
  • 打赏
  • 举报
回复
用cvs,eclipse中,集成了CVS的插件,做起java来的很快,eclipse j2se版本安装svn插件比较容易,但myeclipse就不那么好安装了,
DayUp88 2012-03-19
  • 打赏
  • 举报
回复
http://better-scm.shlomifish.org/comparison/comparison.html
贴一个别人的总结
iDeputy 2012-02-03
  • 打赏
  • 举报
回复
一直感觉CVS比较好用,应该是SVN用的少的缘故
IMissKing 2012-02-02
  • 打赏
  • 举报
回复
其实,我们都是普通的程序员而已.先接触啥就觉得用啥方便.我在学校学的是CVS.但是在随后数家公司里用的都是SVN.只要管理的好,和养成的习惯好.基本的功能是没有什么差别的.如果要说SVN比CVS强.也只能说是SVN在CVS基础上扩展了不上方便的地方.
:) 以上只是个人感受
nj_dobetter 2011-10-07
  • 打赏
  • 举报
回复
用了ClearCase,就会觉得SVN太差了。
nscboy 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 tjj36 的回复:]
我在说说,我使用vs2008开发,结合SVN(vs插件,桌面都使用),真是痛苦
1.vs项目中,存有 .sln .suo(每次添加文件后,.sln .suo会有变化),如果一个人操作还可以,如果遇到同时几个人对项目添加,删除,改名。那么这个项目就完了,一塌糊涂。

2.本人喜欢用vss和vs2005/8系统无缝结合。咋用咋舒服。

请各位有补足说明。
[/Quote]

版本控制中忽略掉他们就可以了.
tangxianghenggood 2011-08-17
  • 打赏
  • 举报
回复
路过,酱油!!!!!!!!!1
sky663 2011-08-17
  • 打赏
  • 举报
回复
唉,中国IT业之悲唉。。
你们在上面嚷嚷了一大堆,无外乎就说CVS是如何如何的难用。SVN操作是如何如何的方便等等。更好笑的是,上面很多问题是自己的操作不当引起的,说成是CVS的缺陷。。。。。唉。。。不知道你们用CVS前到底有没有认真阅读过《CVS操作手册》

请问上面的各位,有几个是:配置管理员(CM)?

CVS最早并不是在Windows下跑的,它的设计继承了Unix文件系统的风格。很多人不习惯是可以理解的。但我可以肯定的说,它管理功能比SVN强大得多。在大型项目建设中,CVS的管理是由CM管理与控制。专业的CM管理员会把CVS管理得非常好。

你们所说的版本统一,这个是SVN的优势,但我觉得这是它的缺陷。每一个文件本来就应该是独立的版本。
itremotedream 2011-07-19
  • 打赏
  • 举报
回复
最近遇到的事情让我对cvs有个不错的感觉,那就是之前代码库模块设置不合理,打算重新调整目录结构,直接把本地的cvs文件夹下相应的Repository内容改了就行,但是svn要删除一个文件尚且要执行一次操作,更何况对一个文件夹进行删除了。
caocheng8230 2011-03-08
  • 打赏
  • 举报
回复
mark
sxu_juan 2010-10-25
  • 打赏
  • 举报
回复
学习啦,我们直接是由vss转成svn的
Sou2012 2010-10-14
  • 打赏
  • 举报
回复
CVS太不方便了。。。强烈推荐 SVN.
涛哥依旧在 2010-10-14
  • 打赏
  • 举报
回复
cvs对单个文件的版本升级,造成文件夹内部文件版本不一致,难于管理。
Pro_X 2010-10-09
  • 打赏
  • 举报
回复
不敢用来路蹊跷的软件,只用正版的VSS!
Arain 2010-10-08
  • 打赏
  • 举报
回复
svn有很多好处啊,我还为它建了一个网站:SVN俱乐部 http://www.svnclub.com 专门讨论SVN技术,欢迎大家光临!
hufeikong 2010-08-25
  • 打赏
  • 举报
回复
subvesion记录了分支,但是没有记录合并事务,开发程序员的工作量统计时,根本无法判断是谁的。

非常混乱。
hufeikong 2010-08-25
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 tjj36 的回复:]
我在说说,我使用vs2008开发,结合SVN(vs插件,桌面都使用),真是痛苦
1.vs项目中,存有 .sln .suo(每次添加文件后,.sln .suo会有变化),如果一个人操作还可以,如果遇到同时几个人对项目添加,删除,改名。那么这个项目就完了,一塌糊涂。

2.本人喜欢用vss和vs2005/8系统无缝结合。咋用咋舒服。

请各位有补足说明。
[/Quote]

强烈顶!

虽然我们单位也改用了svn,有一点经验的人都能看出它很外行,很多事务没有记录保存,尝试做下二次开发就知道了,非常痛苦。
尤其是两个版本,居然也采用两个文件diff比较,浪费时间,这数据库的所谓增量存储设计的实在不明智。
加载更多回复(52)
版本控制是管理信息修改的艺术,它一直是程序员最重要的工具,程序员经常会花时间作出小的修改,然后又在某一天取消了这些修改,想象一下一个开发者并行工作的团队 - 或许是同时工作在同一个文件!- 你就会明白为什么一个好的系统需要管理潜在的混乱。   什么是 TortoiseSVN?   TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。   某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性 - 比如,对编程语言的支持,或者提供程序构建工具。不过 Subversion 并不是这样的系统;它是一个通用系统,可以管理任何类型的文件集,包括源代码。   TortoiseSVN 的历史   在2002年,Tim Kemp 发现 Subversion 是一个很好的版本控制系统,但是没有好的图形化客户端,创建一个作为 Windows 外壳集成的 Subversion 客户端的创意来自 TortoiseCVS,一个非常类似的 CVS 客户端。   Tim 学习了 TortoiseCVS 的源代码,将其作为 TortoiseSVN 的基础,然后开始这个项目,注册了域名 tortoisesvn.org,并将源代码提交到网上。此时 Stefan Küng 正在寻找一个好的免费版本控制系统,他发现了 Subversion 和 TortoiseSVN,由于 TortoiseSVN 还不能够使用,他加入了这个项目并开始编程。很快他便重写了大多数代码,并且开始添加命令和特性,此时,最初的代码都已经不复存在了。   随着 Subversion 越来越稳定,吸引了越来越多的用户开始使用 TortoiseSVN 作为他们的 Subversion 客户端。用户群增长迅速(每天都持续增长)。Lübbe Onken 提供了许多漂亮图标和 TortoiseSVN 的 logo,细心照料网站并且管理翻译。   TortoiseSVN 的特性   是什么让 TortoiseSVN 成为一个好的 Subversion 客户端?下面是一个简短的特性列表。   外壳集成   TortoiseSVN 与Windows 外壳(例如资源管理器)无缝集成,你可以保持在熟悉的工具上工作,不需要在每次使用版本控制功能时切换应用程序。   并且你不一定必须使用 Windows 资源管理器,TortoiseSVN 的右键菜单可以工作在其他文件管理器,以及文件/打开对话框等标准的 Windows 应用程序中。你必须牢记,TortoiseSVN 是有意作为 Windows 资源管理器的扩展开发,因此在其他程序可能集成的并不完整,例如重载图标可能不会显示。   重载图标   每个版本控制的文件和目录的状态使用小的重载图标表示,可以让你立刻看出工作副本的状态。   Subversion 命令的简便访问   所有的 Subversion 命令存在于资源管理器的右键菜单,TortoiseSVN 在那里添加子菜单。   因为 TortoiseSVN 是一个 Subversion 客户端,我们也很愿意为你展示一些 Subversion 本身的特性:   目录版本控制   CVS 只能追踪单个文件的历史,但是 Subversion 实现了一个“虚拟”文件系统,可以追踪整个目录树的修改,文件和目录都是版本控制的,结果就是可以在客户端对文件和目录执行移动和复制命令。   原子提交   提交要么完全进入版本库,要么一点都没有,这允许开发者以一个逻辑块提交修改。   版本控制的元数据   每个文件和目录都有一组附加的“属性”,你可以发明和保存任意的键/值对,属性是版本控制的,就像文件内容。   可选的网络层   Subversion 在版本库访问方面有一个抽象概念,利于人们去实现新的网络机制,Subversion 的“高级”服务器是 Apache 网络服务器的一个模块,使用 HTTP 的变种协议 WebDAV/DeltaV 通讯,这给了 Subversion 在稳定性和交互性方面很大的好处,可以直接使用服务器的特性,例如认证、授权、传输压缩和版本库浏览等等。也有一个轻型的,单独运行的 Subversion 服务器,这个服务器使用自己的协议,可以轻松的用 SSH 封装。   一致的数据处理   Subversion 使用二进制文件差异算法展

1,279

社区成员

发帖
与我相关
我的任务
社区描述
软件工程 CVS/SVN
社区管理员
  • 版本控制社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧