我一直在考虑使用像SVN这样的版本控制系统作为我使用的几台PC之间的通用备份和同步工具.这将适用于各种数据,包括MP3和翻录的DVD - 大量数据(120gb +).
我的主要问题是SVN在.svn
目录中创建每个版本化文件的副本.虽然我可以看到这在大多数情况下非常有用,但对于我的目的而言,这完全没有必要,并且大量浪费磁盘空间.
是否存在不会在工作副本中创建文件副本的VCS?
编辑澄清:我只是在谈论每台计算机上所需文件的大小.对于SVN,这意味着工作副本及其元文件的大小 - 对于DVCS来说,这就是WC和存储库的大小.
在磁盘空间方面,Git非常节俭.
在Git的SVN VS比较维基指出:
与SVN相比,Git的存储库和工作目录大小非常小.
例如,当使用fsfs后端存储在SVN中时,报告Mozilla存储库几乎为12 GiB.fsfs后端还需要一个目录中的240,000多个文件来记录10年项目历史记录中的所有240,000次提交.在完全相同的历史是只有两个文件总额刚刚超过420 MIB存储在Git的.SVN需要30倍的磁盘空间来存储相同的历史记录.
SVN工作目录始终包含每个文件的两个副本:一个用于实际使用的用户,另一个隐藏在.svn /中以帮助诸如status,diff和commit之类的操作.相比之下,Git工作目录只需要一个小索引文件,每个跟踪文件存储大约100个字节的数据.在具有大量文件的项目中,这可能是每个工作副本所需的磁盘空间的重大差异.