2010-01-14 28 views
0

好吧,我正在处理递归删除空目录的小应用程序。我在Codeplex的源代码控制下使用它,并使用TortoiseSVN来访问它。SVN:如果删除工作目录中的空文件夹,该怎么办

因此,有一天,我将它运行在我拥有所有代码的目录中。它运行良好。空目录不见了。但是当我尝试提交Subversion托管项目中的最新更改时,它不会这么做!它抱怨一些丢失的文件夹或其他东西。很明显,在工作目录中有一些隐藏的文件夹(称为.svn),其中包含非常关键的空目录(我不知道)。显然,他们非常重要,以至于他们离开后你什么都做不了。事情只是停止工作...

我试图做SVN更新,清理,更新到修订,还原,等等。没有工作。总是收到某种错误信息。结束不得不移动文件夹,创建一个新文件夹,再次从Codeplex获取所有内容,然后手动移动旧文件夹中的更改。非常乏味和烦人。

那么,那里发生了什么?为什么没有这些空文件夹就无法工作?如果它再次发生,有什么方法可以解决吗?

+3

也许现在是将“排除文件夹匹配模式”功能添加到您的应用程序的好时机:) – 2010-01-14 14:02:35

+0

@Nick:哈哈,已经在研究它:p – Svish 2010-01-14 14:33:07

回答

2

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

更好地忍受检查新工作副本的痛苦,将修改过的和新的文件复制到该文件中并再次提交。

1

我不太了解Subversion的实现方式,告诉你为什么没有空文件夹就无法工作,但这些.svn文件夹保存有关工作副本的元数据,比如每个文件的基本版本(所以命令就像svn st可以在不联系服务器的情况下看到你改变了什么)。

如果你把它们搞砸了,除了从干净的结帐开始一个新的工作副本,没有一个真正的好方法来恢复。

相关问题