如何解析尚未添加到存储库的锁定目录?

时间:2010-10-20 22:39:28

标签: svn

我知道我是如何到达的:我尝试将整个目录树添加到我的存储库,但是其中一个子目录我没有写权限。所以,当我做svn添加时,我收到错误(我没有记录,抱歉。)

现在,如果我在目录中执行svn状态,我会获得整个文件列表。好极了!但是当我尝试svn提交时,我得到“目录锁定”错误。按照指示我运行svn cleanup并告诉我以前没有权限的目录是“不是工作副本目录”。

如果我svn解锁--force,我被告知该目录已被锁定。

这是我的目录副本,似乎没有办法提交它。当我在另一个工作副本上进行SVN更新时,我得到了目录但没有其他文件。同样,当我在这个工作目录中运行svn status时,我得到了很长的文件列表。

我害怕“删除和结帐”解决方案,因为我只有存储库中的顶级目录。我试图在中获取这些文件

我担心如果我递归删除这个顶级目录下的子目录中的所有.svn目录,我将创建一个更大的冲突。我不想深入挖洞。

岩石和硬地之间有出路吗?另外:事实上,我的存储库证据是如此容易,我应该寻找替换SVN?没有对目录的写权限是软件应该正常失败的条件。我不能保证它不会再发生。

2 个答案:

答案 0 :(得分:2)

首先制作工作目录的完整副本。

将问题工作目录移出svn树的某个地方。更新并提交。如果它返回,则从修订中删除目录本身,然后再次提交。这应该解决了冲突。现在以递归方式从问题目录中删除.svn文件夹,然后将其复制回目标位置。将其全部重新添加到svn,并提交。

笨拙吗?是。它解决了这个问题吗?它应该。

颠覆倾向于有一些有问题的明显区域。当你使用它时,你倾向于学习解决它们。 SVN和DVCS往往具有不同的用例,适用于不同的项目管理方式。 DVCS也有它的瑕疵。

答案 1 :(得分:0)

您是否可以将文件复制到其他工作副本中,而不复制.svn目录,然后从那里进行添加和提交?