这是一个好主意吗?我听说/读到过不要将二进制数据添加到svn仓库中,只保留代码,这是正确的吗?请注意保留HTML标记。
这并不是关于二进制与文本的区别,而是关于它是否是生成的。如果您生成了这些文件,为什么不将生成的源代码和生成工具一起添加到SVN中,而不是添加生成的文件本身?然后,再结合良好的构建脚本(也在SVN中),您总是可以再次生成它们。否则,您会面临生成的文件与源文件不同步的风险,或者人们将生成的文件视为“主文件”,导致其更改被混乱地覆盖。
我会将所有文件、库和其他相关内容添加到代码库中。基本上,所有与项目有关的东西都应该被添加进去,这样每个人都可以访问并且拥有最新版本。
我认为在SVN中保留任何无法从源文件重新生成的文件是完全可以的。这包括dia/xml文档和图像。
当然,如果可能的话最好将它们存储为文本格式 - 因此,CSV电子表格比Excel文件更好。
我通常不会将很多二进制文件放入Subversion中,除非可能是最终产品的版本。通常,如果我可以动态生成一些东西,我就不费事了,除非生成它们需要太长时间,然后我只需把它们放在那里。
话虽如此,如果将最新文档的副本(无论我是否能够轻松地对其进行差异化)放入svn可以让我的生活更轻松,我宁愿这样做。当老板或客户说“您有10月份的xyz文档吗?”时,能够手头拥有某物(无论是最新版本还是先前版本)总是很好的。
至于你的特定需求,呃...只有你自己最清楚,但磁盘空间很便宜,如果有价值,那我会这样做。
仅供参考。
Subversion可以很好地处理二进制文件:
http://subversion.tigris.org/faq.html#binary-files
如果在您的源代码树中包含这些文件是有意义的,那么我建议将它们检入。
添加与项目相关的所有内容。添加二进制文件(例如库)没有问题,但是:避免添加重复的数据,例如从源代码编译的文件。
svn处理二进制文件没问题,但我不会添加构建好的文件,只添加源代码。如果你的文档是从其他文件生成的,请不要提交它们,让其他开发人员自己构建。只有当文件很难构建时,我才会将其提交到Subversion。
我的个人规则是不要添加可以从其他东西生成的内容。一个很好的例子是文档文件,可以从代码注释中生成。
如果您有一个可以巧妙地合并和区分的文档系统,我认为文档的“源”应该在树中。即.tex文件,而不是.pdf文件。
如果您从需要编辑代码和文档的发布版本中分支出来,则该文档更改也将在SVN中。当您发布时,您将从代码构建二进制文件,并从文档源构建文档。
如果您从分支中回溯某些内容,则还可以回溯其相应的文档。