我正在寻找使用SVN的一些建议(可能不是SVN特定的)。
我们只是开始使用Source控件,因为公司现在开始增长(我知道我知道,我们应该一直使用它; - ))。
每个项目都有不同的文件,您可能希望从源代码控制中排除这些文件,即内容图像,dll的文件等,但有一些具体示例我不完全确定如何处理。
1)SQL DB文件 - 我正在考虑单独支持这些(作为我们的备份例程的一部分),然后每个分支只让开发人员签入更改脚本
2)bin文件夹中的DLL。我正在考虑只签入那些属于应用程序的内容而不是任何应该存在于GAC中的内容。其次,我打算排除任何dll来自另一个本身受源代码控制的本地项目?
非常感谢您给予的任何建议。
由于 人
答案 0 :(得分:0)
关于
你认为是正确的......这应该单独备份,你可以创建分支来保留它们。
我认为单个项目所需的所有DLL都应该与存储库中的项目一起使用,以便您的工作单元完整。
此外,每个项目都应该在存储库中拥有它...不建议在项目源代码控制中保持重叠。
Own Repository意味着每个项目都有trunk
,branches
和tags
。
答案 1 :(得分:0)
对于1)应该有一般的“设置脚本”为源控件中的每个修订填充一个新的数据库。可选的更改脚本很好,但请确保您只需一步即可轻松设置整个数据库。
“实时”数据的备份当然不应该存在于存储库中。
关于2),这听起来像是在用.Net做点什么。在这种情况下,我建议在项目文件的某处处理DLL,因为它们是构建依赖项。请记住,在指定项目依赖项时,MSBuild可以很好地“拉动”所有必需的依赖程序集。
在我看来,永远不应该使用任何内容签入“build”(或“bin”)文件夹。它只在项目建成时才填充。
答案 2 :(得分:0)
包含未由构建创建的所有内容,基本上是在make clean
外部lib和dll非常适合包含在SVN中,因此如果您升级这些组件,则可以始终重新创建早期版本。与任何测试或样本数据相同。
SVN有效地存储差异以及文件何时发生变化,因此通常没有问题,包括大量静态数据