2009-02-25 64 views
4

我正在个人项目上工作,尽管我有一个wiki,但我想向svn存储库添加不同的文档文件。这些文件包括XML(由monodoc生成)以及UML图(由dia生成)。哪些文档应该添加到svn repo中?

在这个好主意中,我听到/读过关于不向svn repo添加二进制数据的注释,并试图保留代码,是吗?

回答

16

这不是。二进制与文本,它是关于它是否生成。如果你生成这些东西,为什么不添加生成的代码以及工具来生成SVN而不是生成的文件?然后,再加上良好的构建脚本(也在SVN中),您可以随时重新生成它们。否则,您可能会冒生成文件与源文件不同步的风险,或将生成的文件视为“主”并将其更改混淆覆盖的人员。

+0

正是我在想什么。 – 2009-02-25 14:42:07

3

我会将所有文档,库和其他任何内容添加到存储库。基本上任何与项目相关的东西都是有用的,因为那么每个人都可以访问它,并且也会有最新版本。

1

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

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

0

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

0

svn处理二进制文件就好了,但我不会添加内置文件,只有来源。如果您的文档是从其他文件生成的,请不要将其签入,让其他开发人员自行构建它。只有当文件很难建立,我会检查他们到Subversion。

1

我不倾向于将大量的二进制文件放入subversion中,除了最终产品的版本。通常情况下,如果我可以随时产生某些东西,我不会烦恼,除非产生它们需要很长的时间,然后我只是将它们粘在那里。这就是说,如果让我的生活更轻松,我宁愿将最新文档的副本(无论我是否可以区分它们或不容易)将其转换为svn。当老板或顾客说“你有10月份的xyz文件吗?”时,始终能够把你的手放在一个副本上(不管是最新还是以前的版本)。

至于你的特殊需求,那么..只有你确实知道,但磁盘空间是便宜的,如果有他们在那里有价值,我会这样做。

只是我的两分钱。

0

我的个人规则是不添加你可以从其他东西产生的东西。很好的例子是可以通过代码注释生成的文档文件。

0

如果你有一个文档系统可以以一种聪明的方式进行合并和区分,我认为这些文档的“来源”应该在树中。 I.E .tex文件,而不是.pdf。

如果您需要对代码和文档进行编辑的版本分支,那么文档更改也将在SVN中进行。在制作发行版时,您需要从代码和文档源代码中的文档构建二进制文件。

如果您从分支机构回收东西,也可以将其相应的文档回溯。

0

我把我创建并可能更改为SVN的数据。例如,我将SVN中的源代码,解决方案和make文件以及文档放在一起。我尽量避免添加生成的文件,例如从其他格式生成的PDF,二进制文件和第三方库。我不生成和更改的内容(例如来自其他供应商的手册)最终将存放在共享文件夹中。这与其他人的说法完全一致。

但是,我添加生成的文件和二进制文件,当我(1)发布,并需要保留确切的发布文件或(2)文件很难建立,我不希望其他开发人员处理构建过程。为了方便起见,我有时会添加第三方库,这样新开发人员就不必查找,下载和安装它们 - 这对我来说非常有用,因为我的许多开发机器都没有连接到Internet。

相关问题