SVN、VSS 与 CVS 比较帮助
我们目前正在确定是否将 CVS 和 VSS 项目移至单个 SVN 服务器。
我已经使用 SVN 很长时间了,但被迫使用 CVS 和 VSS 来处理工作。
您能帮我解释一下为什么迁移到 SVN 比购买 VSS 2005 更好吗? 从 CVS 迁移到 SVN 的好处是什么?
我们有 C#.NET/Java/Perl/Visual Basic 项目。
除了成本差异之外,我还能对老板们说些什么来说服他们转向 svn。
当迁移到 SVN 时,有没有办法保留 VSS 和 CVS 的历史记录?
We are currently determining if we would move CVS and VSS projects to a single SVN server.
I've been using SVN for a long time now but is forced to use CVS and VSS for work stuff.
Would you please help me give reasons why moving to SVN would be better than buying a VSS 2005? And also what the benefits of moving from CVS to SVN would be?
We have projects in C#.NET/Java/Perl/Visual Basic.
Beyond the cost difference what more can i say to the bosses to convince them to move to svn.
And is there a way to preserve the histories of the VSS and CVS when moving to SVN?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
SVN 与 CVS 的比较很简单。 SVN 是作为新软件开发的,用于代替 CVS 来纠正 CVS 的一些问题。
我知道的一个问题是在存储库中移动和重命名文件的问题。 如果您倾向于在代码库中进行大量重构,那么这是一个大问题。
更多信息请参见:维基百科上 CVS 的限制。
此处:维基百科上对 VSS 的批评
进行比较:维基百科上 SVN 的限制
SVN versus CVS is simple. SVN was developed as a new Software to be used instead of CVS to correct some issues with CVS.
One issue I know is the problem with moving and renaming files inside the repository. This is a big issue if you tend to refactor a lot in your codebase.
More is found here: Limitations of CVS on Wikipedia.
And here: Criticism on VSS on Wikipedia
And for comparisons: Limitations of SVN on Wikipedia
有一些工具可以将CVS历史记录转换为SVN和其他工具用于迁移 VSS 历史记录 - 因此您可以在迁移到更好的系统时使用它们。
由于评论和其他地方链接的所有原因,SVN 往往是比 CVS 或 VSS 更好的环境(除非您有一些奇怪的要求) - 因此,如果您可以成功导入您的历史记录并保存公司的钱,我不明白为什么老板们不肯花。
There are tools to convert CVS history to SVN and other tools to migrate VSS history - so you can use them in your case of moving to a better system.
For all the reasons linked in the comment and elsewhere, SVN tends to be a much better enviroment than CVS or VSS (unless you have some weird requirements) - so if you can successfully import your history and save the company money, I wouldn't see why the bosses wouldn't go for it.
您绝对可以保留从 VSS 移动到 Vault 的历史记录,它不在您的列表中,但我强烈推荐。 如果其他开发人员习惯了 VSS,那么他们在习惯 Vault 时绝对不会有任何问题。 它不是免费的,但它比许多替代品便宜得多。
至于说服他们搬家,VSS现在确实应该给出自己的理由了。 我一直很惊讶我们的 VSS 存储库从未崩溃,但我从来不知道另一个开发人员几乎每天都在修复它。
You can definitely preserve the history moving from VSS to Vault, which wasn't on your list, but which I highly recommend. If other developers are used to VSS, they'll have absolutely no problems getting used to Vault. It's not free, but it's a lot cheaper than a lot of the alternatives.
As far as convincing them to move, VSS really should've provided its own reasons by now. I was constantly amazed our VSS repository never crashed, but then I never knew another developer was repairing it almost daily.
其他人提到了为什么 SVN 是您的阵容中最好的。 另外你应该知道还有比 SVN 更新、更好的版本控制系统。
Mercurial 和 Git 是两个伟大的工具。
Others have mentioned why SVN is the best in your line up. Also you should be aware there are newer and better version controls systems out there than SVN.
Two great ones are Mercurial and Git.
从 CVS 升级到 SVN 有很多原因。 从 2002 年到 2007 年,我们使用 CVS 作为源代码控制。我想说,在那段时间里,我们从未遇到过 CVS 问题。 真正的问题是,自 1998 年左右以来,CVS 在功能开发方面就没有取得任何进展。
SVN 相对于 CVS 的最大好处是真正的自主提交。 我们使用开源工具 cvs2svn 将所有 CVS 项目转移到 SVN。 我们没有遇到任何问题,并且保留了所有事情的完整历史记录。
VSS:这确实是微软有史以来最糟糕的产品之一。 文件损坏、历史记录丢失和合并的重大问题是远离的主要原因。 此时,我非常确定 Microsoft 正在弃用 VSS,转而使用 Visual Studio Team Edition 中内置的团队工具。
There are many reasons to upgrade to SVN from CVS. We used CVS as our source control from 2002 through 2007. I will say during that time we never had one issue with CVS. The real problem is that CVS hasn't moved forward since about 1998 in terms of feature development.
The biggest benefit of SVN over CVS has to be true autonomous commits. We used the open source tool cvs2svn to pull over all our CVS projects to SVN. We didn't have a single problem and kept full history on everything.
VSS: This truly has to be one of the worst Microsoft products ever created. File corruption, history loss and major problems with merging are the major reasons to stay away. At this point I am pretty sure Microsoft is deprecating VSS in favor of the Team Tools built into Visual Studio Team Edition.
关于 SVN,我最喜欢的两点是:
分支的制作方式既漂亮又简单。 我从来无法完全理解 CVS 分支。
隐藏的本地副本意味着“svn diff”和“svn log”等命令不必联系服务器。 这使得在未连接的笔记本电脑上使用签出的存储库变得更加容易。
Two of my favourite things about SVN:
The way branches are made is nice and simple. I never could get my head totally around CVS branching.
Hidden local copies mean that commands like "svn diff" and "svn log" don't have to contact the server. This makes working with a checked-out repository on an unconnected laptop far easier.
这是需要大量细节的问题之一,但它可以归结为“你为什么喜欢使用 SVN?” 以及您可以使用“喜欢”列表中的内容向您的老板展示。
三个我都用过。 我只能代表我自己的经历和偏见。 我的使用历史是 VSS --> CVS——> SVN
CVS
优点:
缺点:
我对它的主要不满是客户端软件。 我发现所有的客户端软件都是不连贯且脱节的。 我绝对讨厌使用它。
VSS
优点:
缺点:
Subversion
优点:
缺点:
我猜既然你们的老板想要购买 VSS2005,那么它将在 Windows 上运行。 我的建议是您坚持使用以下 3 个 Subversion 发行版/软件包之一
常规 Subversion 安装包:
CollabNet Subersion - http://www.open.collab.net/downloads/subversion/
这将安装 svnserver.exe(自定义服务器)和 Apache/WebDAV,或者您可以在安装过程中选择安装哪一个。 您将能够使用 http:// 和 svn:// 协议为您的存储库提供服务。
Subversion 加上管理控制台:
VisualSVN 服务器 - http://visualsvn.com/server/
他们有自己的 Subversion 发行版。 该软件包有一个 Microsoft 管理控制台 (MMC) 管理单元来管理服务器。 这将帮助您针对 Active Directory 树设置权限。 这主要是针对http://协议的。
Subversion 管理控制台:
PainlessSVN - http://www.painlesssvn.com
这仅适用于 svnserve.exe(自定义服务器)。 它是一个 Microsoft 管理控制台 (MMC) 管理单元,用于管理设置和用户。 这主要针对 svn:// 协议。
Tom Ritter 提供了一些非常好的工具链接,这些工具可以将历史记录和代码从 CVS/VSS 导入到 Subversion。
This is one of those questions that requires a lot of details, but it will boil down to "Why do you like using SVN?" and what you can use from the "like" list to present to your boss.
I've used all three. I can only speak for my own experiences and bias. My usage history is VSS --> CVS --> SVN
CVS
Pros:
Cons:
My main beef with it was client software. I found all of the client software incoherent and disjointed. I absolutely hated using it.
VSS
Pros:
Cons:
Subversion
Pros:
Cons:
I'm guessing that since your bosses want to buy VSS2005, that this will be running on Windows. My recommendation is that you stick with one of these 3 Subversion distros/packages
General Subversion installation package:
CollabNet Subersion - http://www.open.collab.net/downloads/subversion/
This will install both svnserver.exe (custom server) and Apache/WebDAV or you can choose which one to install during setup. You'll be able to serve your repositories using both http:// and svn:// protocols.
Subversion plus Administration console:
VisualSVN Server - http://visualsvn.com/server/
They do their own Subversion distribution. This package has a Microsoft Management Console (MMC) snapin to manage the server. This one will help you setup permission against you Active Directory tree. This is mainly geared towards http:// protocol.
Subversion Administration console:
PainlessSVN - http://www.painlesssvn.com
This one will only work with svnserve.exe (custom server). It's a Microsoft Management Console (MMC) snapin that will manage the settings, and users. This is mainly geared towards the svn:// protocol.
Tom Ritter gave some very good links to tools that will import history and code from CVS/VSS to Subversion.