代码之家  ›  专栏  ›  技术社区  ›  Booji Boy

一人秀(一人军队?)的VSS替代方案

  •  12
  • Booji Boy  · 技术社区  · 16 年前

    我已经为同一个雇主编程10多年了,我们唯一使用过的源代码控制是VSS。(对不起,我刚开始的时候他们就是这么做的)。我们中只有少数人;现在有两个,我们通常单独工作,所以VSS对我们来说还可以。所以,我有两个问题:1)我们是否应该切换到其他东西,如subversion、git、TFS等,具体是什么,为什么(请)?2) 我是不是因为VSS腐蚀了我(正如杰夫所说的那样),而失去了所有的希望,注定要受到永恒的诅咒?

    哇-谢谢所有的回复!

    听起来我应该澄清一些事情。我们是一家微软商店(Gold parntner),主要从事VB、ASP.NET、SQL Server、sharepoint&工作。我有CS学位,所以我在X-UNIX和SLUCKULD Linux上做了x86汇编,C++,在“时间不在头脑”…

    有一种LAN服务应该可以加快速度,但我从来没有使用过它,我也不确定它是否有助于防止腐败——有人使用过VSS LAN服务吗?(VSS 2005新增)

    16 回复  |  直到 10 年前
        1
  •  28
  •   Ben Collins    9 年前

    如果我是你,我可能会选择颠覆。在这一点上,我完全是Git迷,但Subversion肯定有一些优势:

    • 简单
    • 丰富的互操作工具
    • 积极支持的社区
    • 便携式的
    • 具有非常好的Windows外壳集成
    • 与visual studio集成(我认为-但肯定是通过第三方)

    Git还有很多其他的优点,但上面这些往往是人们在提出上述一般性问题时所关心的。

    编辑 :我现在所在的公司正在使用免费的VisualSVN服务器。这使得在Windows服务器上设置Subversion存储库变得非常简单,在客户端上,我们使用TortoiseSVN(用于shell集成)和AnkhSVN来支持Visual Studio。这很好,即使是VSS用户也应该很容易接受。

    后期编辑 :所以……将近八年后,我决不会以任何理由向任何人推荐颠覆。我并不是真的放弃, 本质上

        2
  •  10
  •   Shawn Miller    16 年前

    看来SubVersion是这里的赢家。我会帮你自己一个忙 VisualSVN Server . 它是免费的,将为您节省大量的安装麻烦。

        3
  •  9
  •   Mitch Wheat    16 年前

    如果您习惯了VSS的工作方式,请查看(没有双关语) Sourcegear's vault . 这是从VSS迁移出去的一种很好的方法,因为它具有IDE集成,并且支持签出/签入,但是当您准备好并且感觉舒适时,您也可以转到SVN中的编辑更新提交编程风格。

        4
  •  6
  •   17 of 26    16 年前

    无论你做什么,不要为了改变而改变。

    如果它对你有用,而你没有问题,我看不出有任何理由改变。

        5
  •  6
  •   Mark    16 年前

    不管它值多少钱,如果你真的坚持使用1到2个用户,Perforce是一个潜在的选择。当前的Performance docs表示,您有2个用户和5个客户端,而无需开始购买许可证。

    它速度很快,而且对我们来说是坚如磐石的(有10多年历史的代码库上有300多名开发人员)。我们储存了好几吨的信息,而且反应相当迅速。对于少量用户,如果您的服务器有良好的硬件,我怀疑您是否会遇到许多性能问题。

    以前使用过VSS,我相信您可以从更好的SCM系统中获得很多好处,因此无论您是否有损坏,都应该考虑切换。对你来说,仅仅分支可能是值得的。一个真正的客户机/服务器模型、更好的界面(编程和命令行)还有其他一些东西,它们可以真正帮助改进您的工作流程,并在一定程度上提高工作效率。

    总之,我对Perforce的看法是:

    • 它速度快而且相当可靠
    • 大量跨平台客户端工具(windows、unix、mac等)
    • 集成到developer studio(和其他工具)
    • 有一个强大的分支系统(可能适合也可能不适合您)。

    当然,YMMV——我只是提供了一个可能值得研究的替代方案。

        6
  •  5
  •   David Webb    16 年前

    我最近开始使用 Mercurial 为了我的一些工作。它是一个像Git一样的分布式系统,但似乎更易于使用,而且在Windows上似乎支持得更好,后者对我来说至关重要。

    如果您只使用本地存储库,请记住您还需要一个备份解决方案,因为共享服务器上没有您所有代码的副本。

    我认为Mercurial比Subversion有很多其他优势,但它确实有一个很大的缺点,这已经被提到是Subversion的一个优点:有一个 太多了 TortoiseHg Windows资源管理器集成。

        7
  •  5
  •   Ant    16 年前

    这太可怕了。我可能正在通灵斯波尔斯基(不确定他是否说过这句话),但使用VSS实际上比根本不使用源代码控制更糟糕。尽管它的名字,它 不是吗 安全它在不提供安全的情况下创造了安全的假象。

    如果没有VSS,您可能会定期备份代码。有了VSS,您会想,“嗯,它已经在源代码管理下了。为什么还要麻烦备份呢?”这很好 corrupts your entire codebase

    尽快摆脱VSS,并切换到真正的源代码管理解决方案。

        8
  •  4
  •   Joshua McKinnon    16 年前

    不要担心VSS会损坏您,请担心VSS会损坏您的数据。它在该部门没有良好的业绩记录。

    如果不切换到其他版本控制系统,请经常备份。即使对于其他SCM,备份也应该每天进行,但对于VSS来说,备份更为重要。

        9
  •  3
  •   OwenP    16 年前

    我喜欢在我的个人项目中使用Subversion。我可以在功能列表中,假装它带来了很多其他源代码管理系统没有的功能,但是有很多好的功能,正确的选择实际上是风格的问题。如果您在每次小的更改(即,每个函数更改一次签入)后签入,那么许多人可以在同一个源文件上工作,几乎在任何情况下合并冲突的风险都很低 但是

    我不认为你是无望的,因为你在问,换个工作是否更好;当答案显而易见而你忽视了证据时,你就失去了希望。

        10
  •  2
  •   Sergio Acosta    16 年前

    我不同意有人说,如果你没有问题,最好不要换工作。

    我认为,SCM是一个好的开发人员应该熟悉的一些学科,坦率地说,即使您掌握了VSS,您也只是在试验一个好的SCM工具和SCM策略可以为您和您的团队带来的一小部分优势。

    显然,首先在非生产环境中评估和测试备选方案。

        11
  •  2
  •   Murph    16 年前

    在工作中,我们将subversion与TortoiseSVN结合使用-工作得非常好,但它在哲学上与VSS不同(如果只有您,这不是一个真正的问题,但值得注意)。我非常喜欢整个存储库都有一个修订号。

    如果有自由选择,我可能会选择vault,但当时我没有预算。

    我在看私人用品。有理由使用subversion,也有理由使用完全不同的东西。我正在考虑的替代方案是Vault(和以前一样,一次性免费)和Bazaar。GIT我不得不毫不羞耻地拒绝承认自己是一个Windows用户,而现在GIT却不是。

    GIT的分布式特性和私有/临时签入选项(假设我已经理解了我所读的内容) 吸引人-因此我在看集市。

    更新: 我做了更多的挖掘和游戏,实际上我选择了Mercurial供个人使用,与Ortoisehg的集成安装使事情变得非常简单,而且似乎受到了广泛的重视。我仍在努力研究如何将提交的automagic镜像强制到服务器,并且忽略功能似乎有一些小的限制,但到目前为止,它做得很好。。。

        12
  •  1
  •   Chris Conway    16 年前

    我要说的是坚持对你有用的东西。除非您遇到VSS问题,否则为什么要切换?Subversion非常强大,尽管开始使用它有点困难。TFS比VSS好得多,尽管对于这样一个小的团队来说它相当昂贵。我没有使用git,所以我无法真正与之交谈。

        13
  •  1
  •   Adam    16 年前

    我使用vss多年,直到大约两年前切换到svn。我对vss最大的抱怨是网络性能差(这个问题现在可以解决了)和文件的悲观锁定。svn解决了这两个问题,易于设置(我使用collabnet服务器和tortoisesvn客户端,尽管有两个很好的VisualStudio插件:visualsvn-commercial和ankhsvn-open source),易于使用和管理,并且有很好的文档记录。

    说“如果它没有坏,那么就不要修复它”很有诱惑力,但您将学习一种更现代的源代码管理工具,也许更重要的是,学习新工具将支持的使用源代码管理的新方法(例如更频繁的分支和合并)。

        14
  •  1
  •   Orion Edwards    16 年前

    如果你只有两个人,而且你大部分是独立工作的,git将给你更多的灵活性和能力,并且是最快的合作伙伴。

    然而,使用它是一种后遗症。使用VSS,您显然是在为windows编程——如果您正在用C编写Win32 API,那么git将是一个学习曲线,但会非常有趣。

    但是,如果您的知识深度仅限于ASP和Visual Basic,请使用subversion。先走后跑。

        15
  •  1
  •   Dale Ragan    16 年前

    如果你是一个人秀,严格来说是一家微软商店,那么 SourceGear Vault 绝对是切换的最佳人选。

    特征:

    • 单用户免费,非常适合您
    • 它具有原子签入,同时签入的所有文件都排列在一个组中,称为变更集。
    • VisualStudio集成。
    • 具有用于从SourceSafe导入的工具,因此您可以保留历史记录
    • 客户机通过HTTP与服务器通信,因此远程访问办公室外的源代码非常容易设置,而且性能良好,因为它们只传输提交和接收的更改的增量。您可以使用SSL来保护连接。

    我肯定会认为这是一种选择。

        16
  •  1
  •   MrHinsh - Martin Hinshelwood    16 年前

    如果您希望在一个包中包含一个完整的生命周期,那么您可能希望查看VisualStudioTeamSystem。它确实需要一个服务器,但是您可以从MS得到一个“动作包”,它包含了来自合作中心的“Team Foundation Server WorkGuy版”所需的所有许可。

    有了它,您将获得Bug、风险和问题跟踪以及许多其他功能:)

    • 源代码控制
    • 工作项跟踪(需求、bug、问题、风险和任务)
    • 报告项目数据(工作项跟踪、生成、签入等)
    • 代码分析
    • 负载测试
    • 性能分析
    • 自动构建