应该将哪些文档添加到svn仓库?

4
我正在进行一个个人项目,虽然我有一个维基,但我想将不同的文档文件添加到svn仓库中。这些文件包括XML(由Monodoc生成)和UML图表(使用Dia生成)。
这是一个好主意吗?我听说/读到过不要将二进制数据添加到svn仓库中,只保留代码,这是正确的吗?请注意保留HTML标记。
10个回答

16

这并不是关于二进制与文本的区别,而是关于它是否是生成的。如果您生成了这些文件,为什么不将生成的源代码和生成工具一起添加到SVN中,而不是添加生成的文件本身?然后,再结合良好的构建脚本(也在SVN中),您总是可以再次生成它们。否则,您会面临生成的文件与源文件不同步的风险,或者人们将生成的文件视为“主文件”,导致其更改被混乱地覆盖。


3

我会将所有文件、库和其他相关内容添加到代码库中。基本上,所有与项目有关的东西都应该被添加进去,这样每个人都可以访问并且拥有最新版本。


1

我认为在SVN中保留任何无法从源文件重新生成的文件是完全可以的。这包括dia/xml文档和图像。

当然,如果可能的话最好将它们存储为文本格式 - 因此,CSV电子表格比Excel文件更好。


1

我通常不会将很多二进制文件放入Subversion中,除非可能是最终产品的版本。通常,如果我可以动态生成一些东西,我就不费事了,除非生成它们需要太长时间,然后我只需把它们放在那里。

话虽如此,如果将最新文档的副本(无论我是否能够轻松地对其进行差异化)放入svn可以让我的生活更轻松,我宁愿这样做。当老板或客户说“您有10月份的xyz文档吗?”时,能够手头拥有某物(无论是最新版本还是先前版本)总是很好的。

至于你的特定需求,呃...只有你自己最清楚,但磁盘空间很便宜,如果有价值,那我会这样做。

仅供参考。


0

0

添加与项目相关的所有内容。添加二进制文件(例如库)没有问题,但是:避免添加重复的数据,例如从源代码编译的文件。


0

svn处理二进制文件没问题,但我不会添加构建好的文件,只添加源代码。如果你的文档是从其他文件生成的,请不要提交它们,让其他开发人员自己构建。只有当文件很难构建时,我才会将其提交到Subversion。


0

我的个人规则是不要添加可以从其他东西生成的内容。一个很好的例子是文档文件,可以从代码注释中生成。


0

如果您有一个可以巧妙地合并和区分的文档系统,我认为文档的“源”应该在树中。即.tex文件,而不是.pdf文件。

如果您从需要编辑代码和文档的发布版本中分支出来,则该文档更改也将在SVN中。当您发布时,您将从代码构建二进制文件,并从文档源构建文档。

如果您从分支中回溯某些内容,则还可以回溯其相应的文档。


0
我将我创建并可能更改的数据放入SVN中。例如,我将源代码、解决方案和制作文件以及文档放入SVN中。我尽量避免添加生成的文件,例如从其他格式生成的PDF、二进制文件和第三方库。我不生成和更改的内容,例如来自其他供应商的手册,最终都会出现在共享文件夹中。这与其他人所说的基本一致。
然而,在以下情况下,我会添加生成的文件和二进制文件:(1)发布版本时需要保留确切的发布文件或(2)文件难以构建,我不希望其他开发人员处理构建过程。我有时会添加第三方库以方便新开发人员,使他们不必查找、下载和安装它们——对我来说非常有帮助,因为我的许多开发机器没有连接到互联网。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接