我们的项目保存在 SourceSafe 数据库中。我们有一个自动构建,每天晚上在专用构建机器上运行。作为我们构建过程的一部分,我们从 SourceSafe 获取安装的源和相关数据。这可能需要相当长的时间并构成构建过程的大部分(否则主要由安装文件的创建)。
目前,我们使用命令行工具 ss.exe
与 SourceSafe 进行交互。我们使用的命令用于递归获取项目源和数据、 check out 版本文件、检入更新的版本文件和标记。但是,我知道 SourceSafe 也支持对象模型。
最佳答案
我应该想象命令行是使用与您在对象模型中找到的相同代码在内部实现的,因此除非需要大量启动,否则它应该没有太大区别。
重写以使用对象模型的成本可能比让它保持原样所节省的成本更多。除非您对所花费的时间有明确的问题,否则我怀疑这对您来说是一个很好的解决方案。
您可以调查影子目录,以便最新版本始终可用,因此您不必每次都执行“getlatest”,并且可以确保您正在与本地 VSS 对话(因为所有命令都直接在文件系统,因此 WAN 操作非常昂贵)。
否则,除非你想使用不同的 SCM,否则你会被卡住(我推荐 SVN - 在 codeplex 上有一个 excellent converter 可用,示例代码显示了如何使用 VSS 和 SVN 对象模型)
关于command-line - 哪个是与 SourceSafe 交互的更快方式?命令行还是对象模型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/378073/