在我的公司,我们使用 SourceSafe 和 Visual Studio。启动一个小项目,我渴望尝试更现代的源代码控制,我的目标是 Subversion。但我需要在 SourceSafe 中处理以前的项目,至少现在是这样。
问:在 Visual Studio IDE 中同时使用 SourceSafe 和 Subversion 会很好吗?用什么?如果我习惯了 SourceSafe,Subversion 中是否有一些事情我可能会感到痛苦?
在我的公司,我们使用 SourceSafe 和 Visual Studio。启动一个小项目,我渴望尝试更现代的源代码控制,我的目标是 Subversion。但我需要在 SourceSafe 中处理以前的项目,至少现在是这样。
问:在 Visual Studio IDE 中同时使用 SourceSafe 和 Subversion 会很好吗?用什么?如果我习惯了 SourceSafe,Subversion 中是否有一些事情我可能会感到痛苦?
关于你的第一个问题,我不知道有什么会阻止两者并肩工作。您可以尝试Ankh以获得免费的 SVN VS 插件,或者VisualSVN是一个商业选项。
关于你的第二个问题,SVN 的模型与 SourceSafe 不同。SourceSafe 需要签出(悲观),而 SVN 您只需更改文件并在准备好时提交(乐观)。任何冲突都需要合并。其他方面也有所不同,在开始使用之前,您绝对应该阅读基本的 SVN 文档。TortoiseSVN提供了出色的 Windows shell 集成和良好的文档。
PS。一旦您认真尝试 SVN,您将永远不会回头看 SourceSafe。
There shouldn't be a problem using Visual Source Safe and Subversion side by side. Visual Source Safe keys off .scc files within the folders. I also believe the source control is stored in the project files. In any event, Visual Studio automagically handles Visual Source Safe integration.
Subversion (TortiseSVN really) stores all it's metadata in .svn folders. When you install Ankh or VisualSVN, these programs target the .svn folders. If you load a project that has .svn folder anywhere in it's folder structure, Ankh or VisualSVN will kick in.
I agree with other posts, once you turn to Subversion you won't want to go back. It takes a little getting use to. Spend sometime, if don't know already, learning merging and branching. It will serve you will moving forward.
After you get subversion up and going, you might want to look into continuous integration. Cruise Control.Net would be a good tool to start.
Best of luck!
Using SVN technically, won't be an issue - especially with Tortoise +VisualSVN (latter not free but cheap).
The headspace change in going from the usual VSS way of working - pessimistic locking - to the SVN/rest of the world style - optimistic locking will be the harder hurdle.
To explain a little less concisely - if you are used to locking a file when you 'check it out' so noone else can change it, or at least everybody else knowing you are working on it before they try to make any modifications it is quite a leap to go over to not knowing until you try to commit - at which point you have to do merges.
Merging is the tricky bit sometimes, purely conceptually, but especially merges for Winforms with the designer auto-code and the resx files...
Think very carefully about your branching strategy. Best to start just working directly off of trunk to get used to the software before deciding to go for merging. You will find a lot of things quite repetitive and manual compared to VSS - we have a coupla guys here who admin the SVN servers and thay have been invaluable in writing scripts and add-ons for Tortoise to take some of the pain away...
在 Visual Studio 工具中 | 您可以从那里选择源代码控制提供程序的选项。几年前,我们曾经在 VSS 和另一个提供商之间进行交换,而我们所要做的就是在加载到项目时进行更改。
如果您使用的是 SVN,我强烈建议您查看 VisualSVN 以在 Visual Studio 中集成。(虽然阅读下面的评论......)
我已经将 TortoiseSVN 和 SourceSafe 与 VC6/VB6 项目并行使用,以便与 Subversion 保持并行更改日志(出于各种原因,但主要是为了正确跟踪修订),直到我们能够/准备完全切换到 Subversion . 我没有任何问题,我只需要留意来自 SourceSafe 存储库的新文件。
如果您安装了 AkhSVN,那么使用 Visual Studio .NET 就完全不同了,我就是这样做的。我用它工作了几个月,当 AnkhSVN 在打开 SourceSafe 控制的项目时自动启动时遇到了问题。只需避免将 SVN/SourceSafe 项目与 VS.NET 混合使用,或者不要安装 AnkhSVN。