我正在寻找如何处理我的源代码(Web应用程序)所依赖的大型二进制文件的意见.我们目前正在讨论几种选择:
您对此有何体验/想法?
另外:有没有人有多个Git存储库的经验并在一个项目中管理它们?
这些文件是程序的图像,该程序生成包含这些文件的PDF.文件不会经常更改(如年份),但它们与程序非常相关.没有文件,程序将无法运行.
我听说过一些声称SVN比Git/Mercurial更好地处理二进制文件.这是真的,如果是这样,为什么呢?据我所知,没有版本控制系统(VCS)可以在相同二进制资源的两个版本之间区分和合并更改.
那么,并非所有VCS都不善于处理二进制文件吗?我不太了解特定VCS实现背后的技术细节,所以可能它们有一些优点和缺点.
我一直在管理Subversion作为我公司的工程文档存储库.它工作得很好,但我对Subversion如何(应该)处理MS Office 2007格式有疑问.
我正在查看我的工作副本中的Excel 2007电子表格(扩展名.xlsx),Subversion已经应用了svn:mime-type属性application/octet-stream.这意味着Subversion被视为二进制,对吧?
我希望Subversion可以有效地存储新的MS Office文档格式.我的理解是,每次提交该文件时都会生成二进制文件的完整副本,而如果该文件是文本,则对该文件进行少量更改将导致将少量其他数据添加到存储库中(在至少是典型的情况).
我不太了解XML的细节,但我认为XML文件是文本,因此Subversion会有效地存储它.
是否可以配置Subversion以便有效地存储MS Office OpenXML文档?
后续工作(2009-11-09):我发现Office文档可以使用Office 2003 XML文档格式存储为纯文本(Excel:XML Spreadsheet 2003 ; Word:Word XML Document.有关于丢失的警告格式化,但我还没有遇到任何明显的格式丢失.
我是一个从事许多.Net项目的独立程序员.我独自工作,直到现在我还没有使用版本控制.就在最近,我了解了使用版本控制的好处.因为我有三台机器,所以保持项目的同步版本有时会被证明是太多了.所以,现在我打算使用subversion作为我的版本控制服务器.
话虽如此,我在许多主题,博客等中读到了关于为单个开发人员使用版本控制的好处.我同意他们中的大多数,但他们大多数没有讨论的一件事是,如何使用SVN而不实际依赖于您的某个特定系统作为服务器.我想这样做的原因是因为我的所有系统几乎都没有处于"永远在线"状态.因此,如果我在我的主桌面上托管我的存储库,如果我的桌面关闭(或者我在这里丢失了什么东西,我可能无法在我的笔记本电脑上工作)
这就是为什么,我想知道我可以在我的GoDaddy共享主机帐户中托管我的subversion存储库并从我拥有的三台计算机访问它们吗?
或者,我可以使用任何免费(和快速)的在线svn存储库吗?我现在尝试不使用任何gui客户端,因为我想先用svn清除我的基础知识,但后来我打算使用TortoiseSVN作为我的客户端.
svn ×3
git ×2
binaryfiles ×1
large-files ×1
mercurial ×1
ms-office ×1
openxml ×1
tortoisesvn ×1