Svn 在Visual Basic 6中使用Subversion
我的团队很快将从Visual SourceSafe转移到Subversion,同时在Visual Basic 6.0中开发/支持一个遗留项目,因此我有几个问题:Svn 在Visual Basic 6中使用Subversion,svn,vb6,Svn,Vb6,我的团队很快将从Visual SourceSafe转移到Subversion,同时在Visual Basic 6.0中开发/支持一个遗留项目,因此我有几个问题: 在VisualStudio6中集成Subversion IDE的最佳工具是什么?(或者不值得这么麻烦……) 在Visual Basic 6.0中使用Subversion有什么最佳实践吗?(要忽略的文件类型等) 我的猜测是不必担心集成,只需在Windows资源管理器中使用Tortoise SVN即可 至于要忽略的文件类型,请对其进行测试
- 在VisualStudio6中集成Subversion IDE的最佳工具是什么?(或者不值得这么麻烦……)
- 在Visual Basic 6.0中使用Subversion有什么最佳实践吗?(要忽略的文件类型等)
至于要忽略的文件类型,请对其进行测试、签出、生成,并查看是否有任何文件更改(对于现代Visual Studio,我倾向于忽略.suo文件)我同意Windows资源管理器中的乌龟SVN是将SVN与VB6一起使用的最佳方式 迁移到SVN时,您会发现最大的变化是“签出”和“签入”与“更新”和“提交”并不完全相同。因此,任何与VB6的IDE集成都是有限的,因为VB6支持MSSCCI(签出/签入机制)。我曾经在VisualStudio2003中使用过tam SVN(),但由于发现它的局限性而停止使用。合并/分支/责备等是TortoiseSVN提供的非常强大的功能,而TAM中没有。底格里斯也有,但我没有试过
同样,虽然您很有可能获得一个IDE来使用VB6,但我不推荐使用它,因为迁移到SVN的最大优点是打破了签入/签出的源代码安全理念。对于服务器端,VisualSVN服务器是一个超级简单的解决方案,我们正在vmware虚拟环境中运行它,并且它一直在运行 如果你是一个命令行的人,我真的很喜欢svn的命令行界面,我发现它比乌龟更容易混淆某些操作,比如文件夹的状态。但如果你是一个探险家迷,乌龟就足够了,它来自一个安全的世界 要忽略的主要问题是:
- 可复制工件(dll、pdb、exe)
- 特定于环境的设置(即vs的设置文件、csproj.user文件、.suo文件)
有鉴于此,我将设置Subversion以要求对.frx文件进行“锁定”。这意味着一次只能有一个人签出该文件。通过这样做,您将强制执行一次只有一个开发人员可以修改这些文件,并且始终很清楚此人当前是谁。如果你不这么做,你会给自己造成一些重大的麻烦。
取决于你计划在这些遗留项目上做多少,我认为不会切换。
当挖掘遗留代码时,了解所有的历史和责任确实很有帮助。SVN比VSS好几英里,但切换时将丢失历史记录 如果您打算在VB6中进行大量的持续开发,那么很值得切换到SVN,但是如果您打算在未来进行大量开发,那么是否也值得对项目进行审查 我有一个类似的问题,只有遗留项目在Delphi中。如果他们在VB6中,我想我会考虑把它们升级到VB.NET,仅仅是为了维护性。根据你计划在这些遗留项目上做多少,我将不考虑切换。
我真的建议你改用SVN。我知道有几个项目因为VSS数据库损坏而丢失了源代码 我认为有一些工具可以执行从SourceSafe到SVN的迁移。(是的,谷歌快速搜索证实了这一点。)这样你就不会丢失修订历史记录。要忽略的文件类型:*.vbw
关闭项目时自动生成的工作区文件,其中包含已打开的文件等
msscprj.SCC
VB6 IDE生成的源代码管理状态文件(如果使用Windows资源管理器中控制SVN的解决方案,则应禁用VB6中的源代码管理插件,并且不会生成该文件)
*.log
这是在加载表单GUI时出错时生成的文件。该文件与表单文件位于同一位置,其名称与表单文件相同。
示例:
MyForm.frm
生成MyForm.log
当然,只有在没有源代码管理所需的日志文件时,才应该这样做。VSS锁定并不意味着SCCS API需要锁定-也就是说,您可以在IDE中使用不同的SCM,并且它仍然可以按预期工作-请查看VS2005+中的Ankh。@gbjbaanb-我不是专家,但来自Ankh自己的网站:AnkhSVN 2.0实现了微软在VisualStudio2005中引入的新样式SCC VAPI,当时他们还引入了TFS。这消除了旧式MSSCI api的锁定要求和其他一些限制。“From:“[svnvb6]不符合Microsoft为源代码控制插件设计的接口。这个界面并不真正适合Subversion的集成。“我们使用了svnvb6,它工作得很好,就我个人而言,我只在更改文件标记时使用它,但在所有其他方面-乌龟是最好的。如何设置Subversion以要求锁定某些文件类型(如frx)?不幸的是,必须在每个.frx文件上分别设置svn:needs lock属性。通过一点脚本工作,我确信可以编写一个预提交钩子,自动在所有.frx文件上设置该属性,但我还没有做到这一点。你能举个例子说明这会是一个问题吗?另外,如果我单独工作,这会不会导致be问题?(我猜问题是程序员1修改了.frx文件,但没有修改.frm文件,并且他们退出了sync.Clay,您已经解决了问题。如果多人修改了.frx文件