SVN? VSS? 为什么一个比另一个更好?
我倾向于认为这里的大多数人都认为 SVN 是镀金的好东西,而 VSS 是有史以来设计的最糟糕的程序(至少就版本控制而言)。
那就是说,为什么? 我使用过一些 CVS,而我目前的工作使用 VSS,从团队的角度来看,我真的无法看出有多大区别。 我所看到的大多数差异都是表面上的。 当然,我没有尝试在其中任何一个中进行任何分支/合并,但作为一名进来、签出文件、处理这些文件并在一天结束时签入它们的编码员,为什么我想要 1 超过其他?
I tend to get the feeling that most folks here think SVN is gold-plated goodness, whereas VSS is the worst program ever devised (at least as Version Control is concerned).
That said, why? I've used some CVS, and my current job uses VSS, and from a grunt on the team's perspective, I can't really tell that much difference. Most of the differences I've seen are cosmetic. Granted, I've not tried to do any branching/merging in either, but as a coder who comes in, checks out files, works on those files and checks them in at the end of the day, why would I want 1 over the other?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(13)
SourceSafe 存在很多问题并且没有可弥补的功能。 有几种免费的跨平台替代方案,它们更安全、更快、更强大。 Subversion 可能是其中使用最广泛的。 有些人更喜欢分布式版本控制系统,例如 Git、Mercurial 或 Bazaar。
关于为什么 VSS 如此糟糕的一些阅读:
SourceSafe has many problems and no redeeming features. There are several freely available, cross-platform alternatives that are safer, faster and more powerful. Subversion is probably the most widely used of these. Some people prefer distributed version control systems such as Git, Mercurial or Bazaar.
Some reading about why VSS is so bad:
Microsoft 负责提供 Visual Source Safe,但不会在内部将其用于任何大型项目。 在我的书中,这是一个主要的反对意见。 将其用于大型项目,您就会明白为什么; 它很慢,如果你决定让它自动合并任何东西,上帝会帮助你。
Microsoft, which makes Visual Source Safe, does not use it internally for any projects of any significant size. That's a major mark against it, in my book. And using it for large projects, you understand why; it's SLOW, and god help you if you ever decide to let it auto-merge anything.
VSS 不是原子,因此在其他用户大量签入期间将导致获取最新信息在不完整的文件集中。 如果通过 WAN 工作,由于 VSS 设计为通过共享工作,情况也会变得更糟。
VSS is not atomic, so a get latest during a large check-in from another user will result in an incomplete file set. This also gets worse if working over a WAN due to the design of VSS to work over shares.
我的最后一家公司由于
My last-but-one company switched from VSS to SVN because of
我知道选择 VSS 很容易,但记住一些事情很重要(暂时离开杂草!)
您不必在所有这些观点上都同意我的观点,我只是证明它确实有它的地位,并且在不同的场景中具有价值。
I know that it is easy to pick on VSS, but it is important to remember a few things (get out of the weeds for a second!)
You don't have to agree with me on all these points, I'm only demonstrating that it does have it's place, and has value in different scenarios.
与 CVS/VSS 相比,SVN 具有一些重要的功能,例如原子提交、廉价副本、服务器端更高效的存储。
然而,SVN 并不是唯一的修订控制系统……有很多不同的修订控制应用程序。 分布式版本控制似乎是一种新趋势,例如 Git 或 Mercurial。
SVN has some important features over CVS/VSS, like atomic commits, cheap copies, more efficient storage on the server side.
SVN is, however, not the only revison control system out there... There are a lot of different revision control applications. A new trend seems to be towards distributed revision control, like Git or Mercurial.
VSS 有一个非常糟糕的历史,它必须克服。 更新的版本似乎更稳定,但它仍然带有大量的负面包袱。
VSS has a really bad history that it has to overcome. More recent versions seem to be more stable, but it still has a metric crap ton of negative baggage that it is toting around.
Visual Studio 中集成的旧论点不再有效。 AnkhSVN 2.0 提供集成解决方案和 VisualSVN 将 TortoiseSVN 集成到 Visual Studio 中。
TortoiseSVN 本身就足以成为许多用户切换的理由。
The old argument of integration in Visual Studio doesn't work any more. AnkhSVN 2.0 delivers an integrated solution and VisualSVN integrates TortoiseSVN into Visual Studio.
And TortoiseSVN itself is enough reason to switch for many users.
我在使用 Java 代码时遇到 VSS 问题。 虽然 getLatestVersion,VSS 无法处理 java 中项目和包的嵌套结构。
我得到了相同的无限文件夹结构。 SVN 在这方面相当简单。
I have problems with VSS with Java code. While a getLatestVersion, VSS is unable to handle the nested structure of projects and packages in java.
I got inifite folder structures for the same. SVN is quite simple in this regard.
您应该尽快从 VSS 运行。 如果您过去没有遇到过问题,那么您应该受到一些问题的影响。 这就像俄罗斯轮盘赌定时炸弹 - 你永远不知道它什么时候会爆炸。
SVN 是一个很棒的工具,并且非常易于设置和管理。 用于备份或复制的管理工具非常好。
任何时候我都会推荐 SVN 而不是 VSS。
You should run from VSS as soon as you can. If you haven't had problems with it in the past then you are due from some. It's like a Russian Roulette time-bomb - you never know when it's going to blow.
SVN is a great tool and very easy to setup, manage. Administration tools for backing up or replicating are very nice.
I would recommend SVN over VSS anyday.
就功能而言,CVS 和 VSS 几乎是相同的。 因此,它们并不是比较它们的良好起点。
然而,如果您只是将 SVN 和 VSS 用作团队中的普通人,您可能永远不会发现它们之间的区别。 作为项目经理,你真的必须开始使用它们才能真正看到差异,例如分支、合并等。
Well CVS and VSS are pretty much the same thing as far as functionality goes. So they are not a good starting point to compare each of them.
However you probably will never see a difference between SVN and VSS if you just use them as a grunt on the team. You really have to start using them as a project manager to really see the differences, such as branching, merging, etc.
从开发人员的角度来看,SVN 工作得很好,但它在整个目录树中存储配置信息的方式让系统管理员感到恼火(尤其是那些在开发人员拒绝执行提交/重新签出过程时负责将其移动到另一台服务器的人)。 :) 所以,这并不都是镀金的好事!
SVN works well from a developer standpoint, but the way it stores config info all over the directory tree is maddening to sysadmins (especially those tasked with moving it to another server when the developers refuse to do a commit/re-checkout process). :) So, it's not ALL gold-plated goodness!
我实际上认为 Perforce 是镀金的善良。 GUI 工具足够好,您可以将它们提供给设计师或美工,让他们像我们开发人员一样使用源代码管理。 我很确定 VSS 文件 -> 添加文件窗口早于 Windows 95。正在使用的文件被锁定的整个概念是荒谬的。 我们不是在几十年前就通过并发版本控制解决了这个问题吗? 我经历过历史记录损坏(如果我错了,请纠正我),但 VSS 甚至不支持分支和合并。
I actually think Perforce is the gold-plated goodness. The GUI tools are good enough that you can give them to a designer or artist and get them to use source control like us devs. I'm pretty sure the VSS File->Add Files window predates windows 95. The whole concept of files in use being locked is absurd. Didn't we solve that decades ago with CONCURRENT versioning? I have experienced history corruption and (correct me if I'm wrong) but VSS does not even support branches and merges.