【问题标题】:Mercurial reported error number 255: abort: Resource busyMercurial 报告错误号 255: abort: Resource busy
【发布时间】:2023-12-29 00:56:01
【问题描述】:

使用 MacHG 我收到此消息:

“Mercurial 报告错误号 255:abort: Resource busy”

我正在尝试通过本地网络将更改从我的 mac 推送到 SMB 挂载的共享目录。它今天早些时候可以进行 2 次推送和一次克隆。

我已阅读有关锁定文件和符号链接的所有论坛,并且 SMB 支持符号链接以使文件锁定起作用。

也没有 .hg/store/lock 或 .hg/wlock 文件可供我删除以解决锁定问题。

编辑:在尝试将 CIFS 作为安装共享的协议后,CIFS 现在会报告相同的问题/错误消息...

【问题讨论】:

    标签: macos networking mercurial locking intranet


    【解决方案1】:

    重复测试后:

    • 从 SMB 切换到 CIFS
    • 对每个存储库执行验证。
    • 关闭所有相关计算机上的 MacHG。
    • 关闭所有相关计算机上的 XCode
    • 重新启动所有相关计算机

    似乎唯一一致的解决方案是不映射到网络共享文件夹...

    http://hginit.com/02.html

    上面的链接是一个非常好的指南,可以帮助你进行简单的 Intranet 共享。

    您需要编辑.hg/hgrc 文件,使其包含以下行:

    [web]
    push_ssl=False
    allow_push=*
    

    然后在我们的情况下,我们创建了一个启动脚本(在我们的例子中是 windows 的批处理文件),用于在服务器打开时确保它执行以下操作:

    taskkill /f /im hg.exe /t
    
    cd pathtorepository\MyProject
    hg serve -d -p <portnumber1>
    
    cd pathtosecondproject\MySecondProject
    hg serve -d -p <portnumber2>
    

    如果您需要安全连接和身份验证,请访问 mercurial wiki 或搜索有关设置 hg serve 的更多详细信息

    https://www.mercurial-scm.org/wiki/hgserve

    【讨论】: