SVN:如果删除工作目录中的空文件夹该怎么办

时间:2010-01-14 13:59:35

标签: svn tortoisesvn directory

好吧,我正在开发一个递归删除空目录的小应用程序。我在Codeplex的源代码控制下使用它,我使用TortoiseSVN来访问它。

所以,有一天,我在我拥有所有代码的目录上运行它。它运行正常。空目录消失了。但是当我尝试在我的任何Subversion托管项目中提交最新更改时,它就不会这样做了!它抱怨一些丢失的文件夹或其他东西。显然有一些名为.svn的隐藏文件夹在工作目录中传播(我有点知道),其中包含非常关键的空目录(我不知道)。显然,它们非常重要,当它们消失时你不能做任何事情。事情就这样停止了......

我尝试进行SVN更新,清理,更新到修订,还原等等。没有任何效果。总是收到某种错误消息。结束必须移动文件夹,创建一个新文件夹,再次从Codeplex获取所有内容,然后从旧文件夹手动移动我的更改。非常单调乏味。

那么,那里发生了什么?没有那些空文件夹,为什么它不能工作?如果它再次发生,有没有办法解决它?

2 个答案:

答案 0 :(得分:2)

.svn文件夹及其内容(即使是空的)告诉Subversion您的工作副本是工作副本。删除它们会使您的目录只是一个目录。您可以将其导入回购,就像其他任何新项目一样,但是你会有重复的项目,所以我认为这是一个非常糟糕的主意。

最好忍受签出新工作副本的痛苦,将修改后的新文件复制到该文件并再次提交。

答案 1 :(得分:1)

我不太了解Subversion的实现,告诉你为什么没有空文件夹它不起作用,但那些.svn文件夹包含有关你的工作副本的元数据,比如每个文件的基本版本(所以像这样的命令svn st可以在不联系服务器的情况下查看您已更改的内容。)

如果你搞砸了,除了从干净的结账处开始新的工作副本之外,没有其他方法可以恢复。