Mercurial 报告错误号 255:中止:资源繁忙

发布于 2024-12-10 20:22:46 字数 316 浏览 0 评论 0 原文

使用 MacHG 我收到此消息:

“Mercurial 报告错误号 255:中止:资源繁忙”

我试图通过本地网络将更改从我的 Mac 推送到 SMB 安装的共享目录。今天早些时候,它可以进行 2 次推送和一次克隆。

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

此外,没有 .hg/store/lock 或 .hg/wlock 文件可供我删除以解决锁定情况。

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

Using MacHG I get this message:

"Mercurial reported error number 255:abort: Resource busy"

I'm trying to push changes across a local network from my mac to a SMB mounted shared directory. It was working earlier today for 2 pushes and a clone.

I have read all the forums about lock files and symlinks and that SMB supports symlinks for the file locking to work.

Also there are no .hg/store/lock or .hg/wlock files for me to delete to resolve the locking scenario.

EDIT: After trying CIFS as the protocol for mounting the share it would appear CIFS is now reporting the same issue/error message...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

撩发小公举 2024-12-17 20:22:46

重复以下测试后:

  • 从 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 或搜索 SO 了解有关设置 hgserve 的更多详细信息

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

After repeating tests of:

  • Switching from SMB to CIFS
  • performing a verify on each repository.
  • Closing MacHG on all computers involved.
  • Closing XCode on all computers involved
  • Restarting all computers involved

It would seem the only solution that was consistent is to NOT map to a networked share folder...

http://hginit.com/02.html

The above link is a really great guide on getting a simple intranet share happening.

You'll need to edit the .hg/hgrc file so that it includes the following lines:

[web]
push_ssl=False
allow_push=*

Then in our situation we created a startup script (batch file for windows in our case) for when the server turned on to make sure it performed the following:

taskkill /f /im hg.exe /t

cd pathtorepository\MyProject
hg serve -d -p <portnumber1>

cd pathtosecondproject\MySecondProject
hg serve -d -p <portnumber2>

Visit the mercurial wiki or search SO for more details on setting up hg serve if you requre secure connections and authentication

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文