2008-12-07 82 views
4

将版本控制存储库中的项目文件(即其他源代码文件以外的文件)保留在常用的做法中?存储库中的项目文件

此外,这些文件是定期检入/检出吗?

我总是将SCC资源库设想为只有源代码文件的“clean”。

如何管理存储库中的非源代码文件?

以Visual Studio解决方案为例。你会“检查”整个解决方案的目录到SCCS吗?或者你只是添加源代码文件?什么时候构建解决方案需要检查整个解决方案?也许最好用手动过程完成?

回答

8

我认为一般的经验法则是应该包括使项目编译和运行所需的最小数据量。这包括艺术(或其他基本数据文件)和任何构建脚本。在autotools项目的情况下,这通常意味着一个configure.ac。在Visual Studio项目中,它表示Visual Studio项目文件。但是,如果configure.ac已经存在,那么您不会包含其他任何可以自动生成的内容,例如“configure”脚本。

CVS和Subversion都有用于添加二进制文件的标志(Subversion自动添加它),这对于图像和项目文件(二进制文件)是很好的。 Subversion也允许文件锁定,这对那些不想打破对方工作的艺术家来说是很好的选择。

0

通常情况下,作为构建的一部分重建的任何内容都不会检入到存储库中。否则,当生成的文件被提交时会发生合并冲突,特别是如果它们是二进制文件或包含绝对路径。

正如Sydius提到的,大多数SCM工具都有一种将非源文件标记为二进制的方法。大多数现代工具自动检测非纯文本文件和CVS是:

cvs add -kb filenames 
2

你应该保留,你需要建立的仓库里的项目应有尽有。

所以,源代码需要保持,而且还搞什么帮助文件,文档,图形,执照等

最终产品并不需要存储,因为它是从源头上重建。

另外,不应该存储带密码和登录名的配置文件。

3

任何可以从存储库中的其他文件生成的任何东西本身都不应该存储在存储库中。

0

我的一个宠物项目是针对Windows,Mac OSX和Linux的小型跨平台应用程序。我使用wxWidgets作为框架,Linux上的Kdevelop,Mac OSX上的XCode和Windows上的Dev-Cpp作为IDE。每个IDE的项目文件都可以通过CVS和SVN完美管理。我将项目文件保存在回购站中。无论何时我需要在任何目标平台上重建开发环境,我所要做的就是安装IDE并检查最新的CVS。

1

是的,你应该!您应该包含其他开发人员所需的所有文件,以便在IDE中快速设置项目,包括自己在发生混乱的本地项目配置时快速恢复项目。

我主要进入网页开发。有项目资源文件,如Photoshop .PSD文件,用于开发,并以某种方式导出到其他正在投入生产的文件中。您可能希望将它们保存在单独的文件夹或存储库中。不主要关注这些文件的项目成员,他们很少被少数人更新和维护,可以选择忽略这些资源,并且没有本地副本。

0

您需要将编译的二进制文件的历史保存为单独的存档。如果您在服务器上进行更新并且不起作用,则需要回滚。如果你从存档的二进制副本中执行,效果会更好。我认为为二进制版本控制制定一些例程是个好主意。但他们不应该被存储在SVN或类似的。 SCC系统非常有用,它不仅用于备份目的,而且用于回滚并跟踪存储文档中的更改集。这对二进制文件没有意义。