似乎以下类型的文件需要可写才能编译解决方案。 。可执行程序 .DLL .pdb(如果调试) .resource(?) .xml(至少是系统生成的。我不确定它们是否只是所有XML文档文件)
如果他们已经签入并且只能由编译者通过编译器覆盖它们,那么将它们检查到sourcesafe并要求签出修改它们,每次运行时编译器都会检查它们,干扰其他开发人员调试和运行的能力。
最佳做法是什么?似乎VSS会自动添加所有内容。
答案 0 :(得分:3)
通常情况下,您不想签入生成的任何文件,除非您一次生成它们,然后使用那里的文件“剪切并运行”(即您永远不会重新生成它们)。对于使用单一结账锁的VSS等版本控制系统尤其如此。
如果您想要版本生成的文件,我建议不要在解决方案/项目位置对它们进行版本控制,但要有一个单独的进程将它们复制到其他地方,并在那里进行检查。如果您在sln / proj中对生成的文件进行版本控制,那么您将与人们一起做噩梦,让他们检查并重新登录。
我相信你可以设置VSS不对结账进行独占锁定,但总的来说,我不会检查生成的文件。您应该尝试让您的系统达到这样的程度,如果您需要返回到生成文件的先前版本,请检查“源”文件的相应版本/标记,并从那里重新生成其他文件。 / p>
答案 1 :(得分:1)
在一般情况下,作为构建过程的一部分创建的文件不会检入版本控制。
但是,您可能希望归档所有或部分文件(可能是在特定的里程碑,特别是如果您在开发组织之外发布它们),以防您需要处理发现的问题报告/错误测试或最终用户。
您是否希望将归档发生在与源工件相同的软件仓库(甚至使用相同的版本控制软件)中,这是一个不同的决定。通常,此类存档实际上不是版本控制系统,但可能是具有遵循特定命名约定的目录的网络共享,因此这些工件可以与源的特定版本匹配。如何管理这些项目的生命周期(以及生命周期应该是什么)是另一个需要由您的特定组织的需求和政策决定的问题。
答案 2 :(得分:0)
Visual Studio可以很好地选择要添加到源安全的正确项目。在设置新项目时,请使用项目上下文菜单或文件菜单中的命令。
常见的错误是从VSS添加文件夹。