我知道我是如何到达的:我尝试将整个目录树添加到我的存储库,但是其中一个子目录我没有写权限。所以,当我做svn添加时,我收到错误(我没有记录,抱歉。)
现在,如果我在目录中执行svn状态,我会获得整个文件列表。好极了!但是当我尝试svn提交时,我得到“目录锁定”错误。按照指示我运行svn cleanup并告诉我以前没有权限的目录是“不是工作副本目录”。
如果我svn解锁--force,我被告知该目录已被锁定。
这是我的目录副本,似乎没有办法提交它。当我在另一个工作副本上进行SVN更新时,我得到了目录但没有其他文件。同样,当我在这个工作目录中运行svn status时,我得到了很长的文件列表。
我害怕“删除和结帐”解决方案,因为我只有存储库中的顶级目录。我试图在中获取这些文件。
我担心如果我递归删除这个顶级目录下的子目录中的所有.svn目录,我将创建一个更大的冲突。我不想深入挖洞。
岩石和硬地之间有出路吗?另外:事实上,我的存储库证据是如此容易,我应该寻找替换SVN?没有对目录的写权限是软件应该正常失败的条件。我不能保证它不会再发生。
答案 0 :(得分:2)
首先制作工作目录的完整副本。
将问题工作目录移出svn树的某个地方。更新并提交。如果它返回,则从修订中删除目录本身,然后再次提交。这应该解决了冲突。现在以递归方式从问题目录中删除.svn文件夹,然后将其复制回目标位置。将其全部重新添加到svn,并提交。
笨拙吗?是。它解决了这个问题吗?它应该。
颠覆倾向于有一些有问题的明显区域。当你使用它时,你倾向于学习解决它们。 SVN和DVCS往往具有不同的用例,适用于不同的项目管理方式。 DVCS也有它的瑕疵。
答案 1 :(得分:0)
您是否可以将文件复制到其他工作副本中,而不复制.svn目录,然后从那里进行添加和提交?