Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
相对于提交的二进制文件的SVN存储库大小_Svn - Fatal编程技术网

相对于提交的二进制文件的SVN存储库大小

相对于提交的二进制文件的SVN存储库大小,svn,Svn,为了更好地理解SVN如何处理二进制文件,我尝试了一个小实验。我希望SVN能够识别不同位置的相同二进制文件,而不是创建同一文件的多个副本。我的发现提出的问题比回答的问题多。我希望有一位SVN专家能帮助我理解这一点 注1:MyTest.dll为2108KB 注2:我意识到SVN在幕后进行了一些压缩,但它仍然不能解释结果 以下是实验: 1.)我创建了一个新的回购协议 2.)我将MyTest.dll添加到trunk&committed->repo size=66k 3.)添加了/1/和/1/MyTest

为了更好地理解SVN如何处理二进制文件,我尝试了一个小实验。我希望SVN能够识别不同位置的相同二进制文件,而不是创建同一文件的多个副本。我的发现提出的问题比回答的问题多。我希望有一位SVN专家能帮助我理解这一点

注1:MyTest.dll为2108KB

注2:我意识到SVN在幕后进行了一些压缩,但它仍然不能解释结果

以下是实验:

1.)我创建了一个新的回购协议

2.)我将MyTest.dll添加到trunk&committed->repo size=66k

3.)添加了/1/和/1/MyTest.dll&committed->repo size=735 k

4.)添加了/2/和/2/MyTest.dll&committed->repo size=2MB

5.)添加了/3/和/3/MyTest.dll&committed->repo size=2.1MB

6.)添加了/4/和/4/MyTest.dll&committed->repo size=3.4 mb

有谁能解释为什么每次提交时回购规模的变化相对于提交的实际内容显得如此随机


谢谢

Repo会变得相当大(即使您只处理少量文件),因为每次提交的所有更改都会被保存,因此您可以随时还原到旧文件。SVN和相关工具保留了大量信息,用于文件的整理和缓存/索引,这些信息往往会占用空间。由于这些提交“补丁”文件是在内部创建的,因此SVN可以确切地知道更改的内容,从而使恢复功能能够一直工作到提交1,因此,根据每次提交更改的文件数量,通常会增加repo的大小。由于我大部分时间都在使用git,很难解释正在使用的剩余空间在哪里被填满,git有时会有更小的回购,但它可能只是SVN用于其功能的内部内容。我希望这有助于澄清一些问题。

Repo变得相当大(即使您只处理少量文件),因为每次提交的所有更改都已保存,因此您可以随时还原到旧文件。SVN和相关工具保留了大量信息,用于文件的整理和缓存/索引,这些信息往往会占用空间。由于这些提交“补丁”文件是在内部创建的,因此SVN可以确切地知道更改的内容,从而使恢复功能能够一直工作到提交1,因此,根据每次提交更改的文件数量,通常会增加repo的大小。由于我大部分时间都在使用git,很难解释正在使用的剩余空间在哪里被填满,git有时会有更小的回购,但它可能只是SVN用于其功能的内部内容。我希望这有助于澄清一些问题。

不,它不会搜索整个存储库(可能是千兆字节)以查看文件是否已提交


只有当您
svn复制存储库中的文件时,才会引入新副本。

否,它不会搜索整个存储库(可能是千兆字节)以查看文件是否已提交


只有当您
svn复制存储库中的文件时,才会引入新副本。

谢谢您的回答。听起来SVN Copy可以满足我的需要。谢谢你的回答。听起来SVN副本可以满足我的需要。谢谢你的回复。毫无疑问,SVN在幕后做了很多工作来支持所有版本控制功能。相对于提交的实际内容,每次提交时存储库的增长似乎有点随机。谢谢您的回复。毫无疑问,SVN在幕后做了很多工作来支持所有版本控制功能。与提交的实际内容相比,每次提交时存储库的增长似乎有点随机。