我正在撰写我的硕士论文,我正在使用TortoiseSVN在freepository.com上备份。因为我每天都在努力工作并做出很多改变,所以我每天都虔诚地做了好几次。今天我再次提交,奇怪的是我得到一个错误,说我的工作副本已经过时了,考虑到我是唯一一个可以访问该存储库并且我总是在同一台计算机上工作的人,这没有任何意义。相同的文件 - 所以存储库中的版本无法更新。
我创建了我的文件的本地副本,以防万一(男孩,我很高兴我做了),并更新了我的本地副本。通常,如果您进行了本地更改,则会收到警告,告诉您将丢失它们,但在这种情况下,我没有收到任何错误。相反,乌龟删除了几个文件,并用非常旧的版本覆盖了其他文件(也就是说,我的本地文件更新,并且它们被旧版本覆盖)。我检查了提交日志,发现根据乌龟最后一次提交发生在一周前。正如我所说的那样,我经常犯下这种情况,事实上我昨天晚上才犯下这种情况。在每次提交时,我都收到了“提交成功”的消息。
那么......这里发生了什么?乌龟一直在忽视我而不是做任何事情(尽管它说它确实如此)?有其他人以前遇到过这个问题吗?
感谢。
答案 0 :(得分:2)
我使用SVN和TortoiseSVN多年来,提交是原子的,如果它们没有失败(提交后没有错误消息)那么你可以放心地认为它已经在服务器端被接管了。否则什么都没有被接管。
我想到的一个案例,即使在单独工作时也会遇到麻烦,当你更改移动文件的目录结构时。那么你可能会因某些原因而得到树冲突,我真的不太了解。在resolved
对话框中,您可以检查是否是这种情况。 (如果是,因为您是唯一的提交者,将所有标记为已解决,更新和提交)
假设:远程服务器是否遇到问题,是否已将旧备份重新联机?即使在这种情况下,它也不应该“降级”您的本地文件并保持您的更改完整。
我希望这个经验丰富的问题(树冲突)可以帮助你。