我正在开发一个个人项目,虽然我有一个wiki,但我想在svn存储库中添加不同的文档文件。这些文件包括XML(由monodoc生成)以及UML图(用dia生成)。
在这个好主意中,我听到/读过关于不将二进制数据添加到svn repo并尝试保留代码的评论,是吗???
答案 0 :(得分:16)
这不是关于二元与文本,而是关于它是否生成。如果你生成这些东西,为什么不添加生成源以及生成SVN的工具而不是生成的文件呢?然后,再加上良好的构建脚本(也在SVN中),您可以再次重新生成它们。否则,您将面临生成的文件与源文件不同步的风险,或者将生成的文件视为“主人”并将其更改置于混淆状态的人。
答案 1 :(得分:3)
我会将所有文档,库和其他任何内容添加到存储库中。基本上任何与项目相关的东西,因为每个人都可以访问它并且也会有最新的版本。
答案 2 :(得分:1)
我认为保留SVN源文件中无法重新生成的文件是完全可以的。这包括dia / xml文档和图像。
当然,最好是尽可能将它们存储为文本 - 因此,CSV电子表格比Excel文件更好。
答案 3 :(得分:1)
除了最终产品的版本之外,我不倾向于将很多二进制文件放入subversion中。通常情况下,如果我可以动态生成一些东西,我不会打扰,除非生成它们需要太长时间,然后我只是将它们粘在那里。
那就是说,如果它让我的生活变得更轻松,我宁可把最新文档的副本(无论我是否可以将它们差异化)放入svn中。当老板或客户说“你有10月份的xyz文件吗?”时,能够将手放在副本(无论是最新版本还是以前的版本)上总是很好。
至于你的特殊需求,嗯..只有你肯定知道,但磁盘空间很便宜,如果有价值,我会这样做。
只是我的两分钱。
答案 4 :(得分:0)
Subversion处理二进制文件就好了:
http://subversion.tigris.org/faq.html#binary-files
因此,如果在源树中包含这些文件是有意义的,我会说检查它们。
答案 5 :(得分:0)
添加与项目有关的所有内容。添加二进制文件(例如库)没有问题,但:避免添加重复数据,例如从源代码编译的文件。
答案 6 :(得分:0)
svn处理二进制文件很好,但我不会添加构建文件,只添加源。如果您的文档是从其他文件生成的,请不要将其签入,让其他开发人员自己构建它。只有文件难以构建才能将它们检入Subversion。
答案 7 :(得分:0)
我个人的规则是不添加你可以从其他东西生成的东西。很好的例子是可以用代码注释生成的文档文件。
答案 8 :(得分:0)
如果你有一个可以巧妙地合并和区分的文档系统,我认为文档的“源”应该在树中。 I.E .tex文件,而不是.pdf。
如果您分发需要编辑代码和文档的版本,那么文档更改也将在SVN中。当您发布版本时,您将从代码和文档源中的文档构建二进制文件。
如果你从分支机构反向移植东西,你也可以向后移植相应的文档。
答案 9 :(得分:0)
我将我创建的数据放入SVN中。例如,我在SVN中放置了源代码,解决方案和make文件以及文档。我尽量避免添加生成的文件,例如从其他格式,二进制文件和第三方库生成的PDF。我不生成和更改的内容(例如来自其他供应商的手册)最终位于共享文件夹中。这与其他人的说法完全一致。
但是,当我(1)发布并需要保留确切发布的文件或(2)文件难以构建时,我确实添加了生成的文件和二进制文件,我不希望其他开发人员处理与构建过程。我有时为方便起见添加第三方库,以便新开发人员不必查找,下载和安装它们 - 这对我很有帮助,因为我的许多开发机器都没有连接到Internet。