当前位置:  开发笔记 > 运维 > 正文

SVN错误 - 不是工作副本

如何解决《SVN错误-不是工作副本》经验,为你挑选了4个好方法。

最近我们的svn服务器发生了变化,我们做了一个svn开关.

由于工作副本有大量的无版本资源,工作副本被锁定,我们开始在文件夹下为svn下的所有文件夹切换文件夹,这完全正常.

但是在存储库的最顶层,当我尝试更新文件时,我得到了svn:Working copy'.' 锁定错误和清理也无济于事.当我进行清理时,我会收到类似这样的错误 - svn:'content'不是工作副本目录

新鲜的结账不是一个选择.有没有其他方法可以清理和释放锁并完全切换?

编辑: JesperE答案中的最后一段

如果在进行递归"svn清理"时得到"非工作副本",我的猜测是你有一个应该是工作副本的目录(即toplevel的.svn目录这样说),但它缺少它拥有.svn目录.在这种情况下,您可以尝试删除/移动该目录,然后进行本地更新

似乎是存储库中问题的解决方案.我已经确定了那些文件夹并单独对这些特定文件夹进行了新的检查,并且哇,锁在随后的清理中被释放!非常感谢JesperE !!

但是,我仍然无法弄清楚现在读取的svn开关错误,

svn:'svn:// repourl/reponame/foldername'的存储库有uuid'm/reponame',但WC有'b5b39681-0ff6-784b-ad26-2846b9ea8e7d'

有任何想法吗 ?



1> JesperE..:

如果在进行递归时得到"非工作副本",svn cleanup我的猜测是你有一个目录应该是一个工作副本(即.svn顶级目录这样说),但它缺少自己的.svn目录.在这种情况下,您可以尝试删除/移动该目录,然后执行本地更新(即rm -rf content; svn checkout content).

如果出现not a working copy错误,则表示Subversion无法.svn在其中找到正确的目录.检查是否有.svn目录contents

如果可能的话,理想的解决方案是全新结账.


**警告:**`rm -rf`永久删除文件夹`content`.在执行之前进行备份.
我的问题是我已经迁移到新服务器并恢复了我尚未提交工作的文件系统备份,并使用svnadmin来过滤掉我不再需要的旧项目.所以我的存储库包含了我需要的所有信息,但是有一个新的UUID.在这种情况下,我只是打算更改已更改的文件,获取新的结帐,然后解压缩.

2> Ken Arnold..:

我遇到了类似的情况(svn: 'papers' is not a working copy directory)以不同的方式,所以我想我会发布我的战斗故事(简化):

$ svn add papers
svn: Can't create directory 'papers/.svn': Permission denied

哎呀!修复权限...然后:

$ svn add papers
svn: warning: 'papers' is already under version control
$ svn st
~     papers
$ svn cleanup
svn: 'papers' is not a working copy directory

甚至移开papers并运行svn up(适用于OP)并没有解决它.这是我做的:

$ mv papers papers_
$ svn cleanup
$ svn revert papers
Reverted 'papers'
$ mv papers_/ papers
$ svn add papers

那很有效.



3> 小智..:

我解决了

    复制受影响文件夹的备份

    SVN还原受影响的文件夹

    从备份中粘贴文件

在我的情况下,问题是由于删除.svn文件.



4> 小智..:

也许你刚刚复制了文件夹树并尝试添加最低版本.

SVN
|_
  |
  subfolder1
       |
       subfolder2   (here you get an error)

在这种情况下,您必须在上一级提交目录.

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有