Subversion在哪里实际存储其DataBase?

Meh*_*ANI 11 svn tortoisesvn

在阅读了很多关于SVN的介绍,入门指南和文档后,我仍然无法弄清楚我的版本控制数据存储在哪里.我的意思是身体.我已经检查了EDIT [1/2 GB]的代码,并且repo只有几MB大.这对我来说仍然是Voodoo.而且,作为一名程序员,我真的不相信魔术师.

编辑: 贡献者声称并非所有代码都存储在回购中,是真的吗?我的意思是,如果我删除我的本地工作副本,我仍然可以取回我的存储库的源代码......如果是这样,我仍然无法理解我的代码如何发生这样的压缩......

编辑2: 当我将代码导入存储库时,我有消息"50MB上传",实际的回购要小得多.必须参与压缩算法.

顺便说一句,阅读一些答案很有趣,看看有多少人确实相信魔术,并且在没有真正使用SVN的情况下知道幕后发生了什么......

jru*_*ell 7

这取决于您用于Subversion服务器的内容.我使用VisualSVN Server,它将存储库文件保存在c:\ Repositories中.


Jas*_*Cav 6

根据Mika的要求,将此作为答案:

有多少人认为这个答案有误,我感到很惊讶..svn文件夹不是服务器存储其文件的位置(因为它是机器本地的 - 没有其他人能够查看该信息),并且,虽然SVN只存储差异(假设FSFS),但它必须存储原件SOMEWHERE.

当然,正如@ csharptest.net所说:"我的猜测,70%是perf数据,另外29.99%是'obj'和'bin'目录.留下你签入的10mb实际代码." 所以你实际上并没有真正检查所有这些信息.其中大部分从未进入存储库.此外,SVN使用了大量压缩算法和各种技术,并不一定将数据字节存储在存储库中.这可能就是你看到尺寸差异的原因.

如果您有兴趣阅读有关SVN如何工作的更多信息,请在此Stackoverflow答案中阅读.

希望有所帮助!