2010-11-19 149 views
3

我在远程服务器上有一个SVN存储库。我定期使用本地开发机器提交进行更新。同步一个意外删除的本地SVN文件夹

我意外删除了我的本地计算机上的存储库的子文件夹(不在服务器上)。现在我已经尝试了所有的东西来从我的本地机器上的存储库中获取文件夹,但由于某种原因,它似乎不起作用。

作为最后的手段,我从Repo浏览器中检出已删除的子文件夹。但如果我现在从父文件夹提交,子文件夹修改后的文件不包含在提交中,我需要单独提交它们。

有人可以告诉我如何从SVN回购中恢复在本地机器人上意外删除的文件夹?

回答

4

我不能复制,使用TortoiseSVN这个问题(仅仅提到这一点,因为TortoiseSVN的标签)

我所做的仅仅是解决在命令行类似的问题。定期“SVN更新”就不会再把文件夹回来,但这个工作:

rm -rf folder 
svn up folder 

你可能想确保你有文件夹中没有本地更改第一:-)

+0

嗨Svemir,我也很惊讶,它没有工作...但是,在一段时间后,我承诺所有的更改后,我确保所有其他文件夹同步,去到父文件夹,做了SVN护理,然后做了更新。它的工作。所以,这个问题现在已经解决了。 – 2011-01-07 17:08:40

+0

完美工作。谢谢! – 2012-09-12 20:30:02

1

只需执行update操作。

+0

嗨zerkms,我执行一个更新动作很多次,但它并没有恢复文件夹之后,我不得不检出我提到的文件夹在父文件夹下创建了另一个回购。 – 2010-11-21 13:17:38

+0

@r_honey:如果没有 - 那么回购中没有这样的目录。 – zerkms 2010-11-21 13:20:12

+0

@r_honey:'svn dir http:// repo/path/to/dir' - 你会在这种情况下看到你的目录吗? – zerkms 2010-11-21 13:20:48

1

从文件夹中运行一个svn update(或任何相当于乌龟的文件夹),该文件夹应该包含丢失的文件夹。它将恢复任何未通过svn delete删除的文件。

如果你的文件夹为svn delete那么你必须svn revert吧。不知道你会如何在乌龟中做到这一点。

+0

您好xr,如回复zerkms答复中所述,SVN更新并未恢复本地计算机上的文件夹。它尚未在服务器上被删除。 – 2010-11-21 13:18:33

+0

如果你能负担得起,尝试重命名父目录(而不是删除它,以防万一)并更新“祖父母”。这应该恢复父母及其子女,包括您的遗失物品。如果这可行,则可以删除重命名的父级。我的一些同事曾经有类似的问题,并为他们修复。 – 2010-11-22 07:44:37