1

我刚刚从 SVN 更新,我的一个文件现在已经消失了......当然它没有提交,因为我知道我需要先更新+合并。我想也许那个人重命名了文件,这意味着我的 SVN 客户端删除了我的文件。

我正在使用 VC++ 2008 和 Visual SVN。

帮助......并作为参考,应该如何避免这种事情?你不应该在提交之前更新吗?

4

4 回答 4

1

如果您在 VS 中查找该文件,则该文件很可能仍然存在于您的目录中,但只是不再在项目中引用(因为 VS 只会显示您项目中的文件)。如果文件被重命名,这很可能是您无法在 Visual Studio 中找到它的原因。我会检查文件曾经存在的实际目录。

如果它不存在,您可以通过单击包含目录并恢复到包含该文件的先前修订版从存储库中检索旧文件(文件删除是对目录的操作)。

如果有修改,则不应删除文件的本地副本。这种事情很烦人,但希望不会经常发生(你多久重命名一次文件?)。当然,这也正是您应该在提交之前更新的原因。在这种情况下,您需要手动将您对旧文件所做的更改合并到新文件中,并确保它仍然可以编译。

于 2008-11-20T20:21:53.677 回答
0

这正是几周前发生在我身上的。当我做“更新”而不是“提交”时,我很累。我的工作不见了,我可以用Undelete tool恢复其中的一些。

于 2008-11-22T00:15:21.490 回答
0

如果您更改了文件,SVN 应该备份文件。检查是否有以“.”开头的文件 并且在您更改的文件应该位于的目录中的名称中的某处进行了修订。

如果不是这种情况,请检查 Visual SVN 中的设置。或者也许 Visual SVN 不这样做。改用TortoiseSVN

于 2008-11-20T16:54:07.917 回答
-3

答案向您展示了如何恢复文件,但更重要的是您问题的第二部分:如何避免此类事情?

为此,您可以锁定文件。这意味着您希望不受干扰地处理此文件。SVN 将不允许任何其他用户提交锁定文件。这也包括删除。

于 2008-11-22T00:05:55.160 回答