首页 文章

工作副本已锁定

提问于
浏览
68

我正在使用subversion作为版本控制开发一个Web,但得到了“工作目录锁定”错误消息

这是故事:

我有

PC-A:

  • Windows XP专业版

  • VisualSVN 2.5.2

  • Tortoise SVN 1.7.3

PC-B:

  • Windows XP Home

  • Tortoise SVN 1.7.3

我使用VisualSVN在PC-A上创建了存储库 .

从PC-B,I Checkout http:\ PC-A:81 \ svn \ test \ trunk到D:\ xampp \ htdocs \ test-lalala .

从PC-A,我还检查http:\ PC-A:81 \ svn \ test \ trunk到D:\ xampp \ htdocs \ test-lalala .

我创建一个运行my-post-commit.bat文件的post-commit钩子,所以当我提交http:\ PC-A:81 \ svn \ test \ trunk时,文件夹D:\ xampp \ htdocs \ test-lalalaon PC- A会更新,所以其他人可以看到结果 .

"C:\Program Files\VisualSVN Server\bin\svn.exe" update "D:\xampp\htdocs\test-lalala" --username myusername --password mypassword --config-dir "C:\Program Files\VisualSVN Server\conf"

在PC-B上,创建index.php文件,然后提交 . 当我提交时,我收到此错误消息

error message

在PC-A上,我尝试右键单击D:\ xampp \ htdocs \ test-lalala TortoiseSVN> CleanUp,并检查“清理工作副本状态”和“包含外部”(默认选中) . 尝试添加文件和提交,但仍然得到相同的错误消息 .

我试图在.svn文件夹上查找锁文件,但没有锁文件 . 我还尝试删除PC-A D:\ xampp \ htdocs \ test-lalala上的工作副本并再次检出,但是当我提交时,仍然会收到相同的错误消息 .

如何解决此错误消息?所以当我提交时,文件夹会自动更新?

16 回答

  • 7

    每当我收到工作副本锁定错误时,我都会运行“清理” . 之后一切都恢复正常 .

    在命令行上,您可以执行 svn cleanup ,这也会删除锁定文件 .

    注意:在一个上一级目录上执行此操作,这应该可以解决大部分时间 .

  • 0

    对于仍然遇到此问题的任何人(错误:工作副本''已锁定 . ),我有您的解决方案:

    我发现当其中一个TortoiseSVN窗口崩溃时,它会留下一个TSVNCache.exe,它仍然有一些处理你的工作副本,这会导致你看到的锁定问题(并且还会阻止Clean Up做它的工作) .

    所以解决这个问题:

    1a)使用Process Explorer或类似工具删除TSVNCache.exe拥有的句柄

    1b)..或者更简单,只需使用任务管理器杀死TSVNCache.exe

    然后

    2)右键单击 - > TortoiseSVN - >清理 . 只需要检查“清理工作副本状态” .

    从那里,快乐更新/提交 . 您可以通过执行SVN更新来重现锁定行为,然后在更新完成之前快速终止它的TortoiseProc.exe进程 .

  • 36

    在顶级目录级别运行“清理” .

  • 3

    我通过删除WC_LOCK表中SQLite“.svn \ wc.db”文件锁记录中的WC_Lock记录来解决它 .

    用SQLite编辑器打开“wc.db”文件并执行

    从WC_LOCK中删除

    解决方案是在另一个我现在找不到的链接中给出的 . 但真的很不错;不用担心删除所有目录

  • 21

    我通过删除隐藏的 .svn 文件夹来修复它,并将其替换为新的结帐 .svn 并且它有效 . 可能这个隐藏的文件夹搞砸了!

  • 1

    我相信它对你很好

    转到顶级SVN文件夹 .

    右键单击文件夹(包含您的svn文件) - > TortoiseSVN - > CleanUp

    这肯定会解决您的问题 .

  • 1

    如果你是Windows的家伙并使用“Tortoise SVN”用户 .

    选择文件 . 右键点击 . 选项'Tortoise SVN' - >获取锁定 . 使用选项'Steal The Lock' .

  • 1

    您只需一步即可修复它 .

    步骤1:打开终端并转到您的项目然后点击命令“svn cleanup”然后“svn update”

  • 0

    我最终使用export命令而不是update命令 . 这是post-commit钩子

    “C:\ Program Files \ VisualSVN Server \ bin \ svn.exe”export“D:\ xampp \ htdocs \ test-lalala”--quiet --non-interactive --force --username myusername --password mypassword

  • 4

    错误“工作副本已锁定”,只需按照以下步骤操作:

    • 您在更新时收到错误的目录

    • 转到其父目录

    • 在父目录中转到".svn"隐藏目录

    • 删除名称为"lock"的文件

    • 清理完成

    您可以正确更新svn而不会出错

  • 10

    Tortoise svn ->clean up

    这一切都在SVN中

  • 1

    当你得到工作副本错误时,只需运行 svn cleanup 清除所有不需要的文件和文件夹 . 如果仍然出现错误,那么做一件事 .

    将您的文件复制到其他驱动器并删除工作副本文件夹或文件,然后进行更新,它将获取新文件,然后更换为您的更新副本并提交相同的内容 .

  • -1

    我遇到了和你描述的相同的问题 . 它似乎是Tortoise 1.7.3的一个错误 . 我已经恢复到1.7.2,执行了清理和更新 . 现在我的SVN / Tortoise再次正常工作

  • 0

    对于PHPStorm或Intellij:

    VCS -> Cleanup Project
    
  • 2

    您的BitLocker磁盘加密是否正在运行?在我的情况下,它锁定了磁盘的整个驱动器以进行加密,并且SVN因此错误而失败 .

  • 185
    svn cleanup test-lalala/
    svn update
    

    重复两次

相关问题