我租用了五年的专用服务器的主板坏了,更换了新主板。非常旧的(Debian)发行版无法跟上主板上的所有新硬件,所以我决定从头开始重新安装一个新的发行版(Debian Wheezy)(即使进行升级也有点问题,因为旧的 Debian 不会据我所知,无法识别新主板的以太网芯片组,因此我从头开始重新安装)。
我重新安装了 SVN 并通过执行以下操作获取了所有存储库:
tar -xzf repoBackups.tgz
它“有效”。
问题是,尽管 Eclipse 可以识别 SVN 存储库,但它想要提交每个文件,即使它们是相同的。
这可能与文件上的时间戳有关吗?无论哪种方式,您是否知道导致此问题的原因以及如何解决该问题?
我可以只需要求每个人重新提交每个项目的每个文件,我认为一切都会好起来的,但其中一些项目相当大,这对开发人员来说会有点痛苦。
作为一个额外的(也是不太重要的)问题:像 Git 或 Mercurial 这样的其他 VCS 不会“遭受”这个问题吗?
答案1
复制 Subversion 存储库的文件不是受支持的备份方式。 (看[SVN]:如何备份存储库?和备份 Subversion 存储库的最佳方法是什么?和如何备份远程 SVN 存储库寻找正确的方法。)看起来数据库已处于损坏状态。
尝试svnadmin dump
在解压的存储库和svnadmin load
生成的转储上运行。这可能会产生一个工作存储库(但没有承诺,我对 svn 不太熟悉)。
文件上的时间戳无关紧要。 Subversion 不使用它们来决定是否提交,而是使用修订号。