svn服务器不断更新文件是覆盖还是都保存,现在担心我程序源文件不断修改上传,会重复的被保存

如何让SVN服务器像硬盘备份一样,直接覆盖保存

第1个回答  2012-11-29
不是覆盖,是合并修改。追问

假设一个文档5k,修改内容增加了1k内容,这时候服务器上占用多大空间?一份6k文档,还是5+6=11k?两份文档,还是5K+1K两份文档?

追答

这个涉及到SVN的存储机制,几句话好难讲清的。不能单独只看某一个文件。
首先 我明确的告诉你:如果你这次提交只修改了这一个文件,那么针对这个提交的版本SVN存储的大概是6K多一点(数据压缩了点,然后增加了其他文件的最新版本索引)
明天我再来完善这个答案,然后告诉你怎么做实验来证明SVN的存储方式,提前透露关键信息:

1、SVN的版本号针对的整个库的目录存储,而不是某一个文件,哪怕你只修改了某个文件,所以说“aa.c文件的版本是5是错误的,而应该说某SVN项目第5个版本里对应的aa.c文件当时状态是这样的”
2、SVN 采用类增量存储,格式采用的是本身的存储格式(DB或FSFS)二进制文件,不是实际的文件类型;不是完全的增量只存储修改的部分,也不是每个提交版本把所有数据存储一份。(明天来详细解答,然后把实验方法讲一下)

本回答被提问者采纳
第2个回答  2012-11-26
你的担心是多余的
每次程序的改动都有记录的追问

我指的覆盖,意思是说完全删除原来的文件,不备份了

第3个回答  2012-11-26
上传之后就是覆盖。
相似回答