2012-12-23 25 views
0

我整天在SVN目录中的几个新文件上工作。操作错误删除了SVN中的新文件

在一天结束时,我添加并承诺它们。不幸的是,我从我的笔记本电脑上做了这些(我在两个dirs之间来回穿梭),这些笔记本基本上都是空的文件,第二天早上我在我的主要个人电脑上进行了一次更新,它擦除了我整天工作的文件。 我试过各种“恢复”,日志,信息等,并没有发现任何以前的版本的痕迹。

有什么办法可以获得第一次更新所擦除的版本。我没有得到任何警告。

+0

你确定你没有“树冲突”吗?是否有可能您的本地文件被重命名? – wimh

回答

0

你能给我们提供更多的细节吗?您的PC上的文件丢失了吗?如果他们是,你应该能够恢复他们,即使他们在你的笔记本电脑上被删除。

这些文件是否未提交本地文件?可能没有办法让他们回来。然而,Subversion很少删除东西。修改后的文件在更新完成时更新,修改后的部分永远不会被删除。如果文件不在存储库中,即使在存储库中创建了同名文件,也不会在更新完成时将其删除。在这种情况下,你会遇到冲突。

也许将来的提示:如果您在两台机器之间来回移动,则可以使用Dropbox作为您的Subversion工作目录。 Dropbox自动同步这两个目录 - 甚至是Subversion的工作目录。另外,它存储Subversion之外的文件更改历史记录。在两台机器上,您不能,也不可以,不会,不会,不会,不允许,不要在Subversion上同时使用带有Subversion的Dropbox目录。但是,如果你只是在两个系统之间来回切换,那么它工作得很好。

+0

Dropbox上的WC是个坏主意(tm)! “始终提交”和“始终更新”是正确的方式!对于Dropbox上的Subversion,我会记得Occam的Razor –

+0

@LazyBadger。你绝对不能有多人使用Dropbox目录,但我还没有发现使用Dropbox以_serial_方式的任何问题。你应该经常提交,但是你也不想犯不完整的工作并破坏构建。如果没有其他的Dropbox在每次编辑后保存我的文件的旧版本。这使我可以找回我可能没有犯过的旧版本。作为奖励,我可以在家中使用我的笔记本电脑,并在个人电脑上工作。另一种选择是gitsvn,它允许你做本地提交,并且只向Subversion提交完整的工作。 –

+0

我不确定这是怎么发生的,但我真的没有看到另一种方式。我一定已经开始从我的笔记本电脑上开发这些新文件,然后切换到PC上。我必须前后来回,因为PC上有运行代码的数据集。所以基本上我在PC上写的代码并没有真正被删除,而是被主要空的代码覆盖。这是他们的第一次承诺。不过,我很惊讶我犯了这个错误。 – dargaud