【问题标题】:hgwatchman throws warning when trying to clonehgwatchman 在尝试克隆时抛出警告
【发布时间】:2014-08-19 10:02:54
【问题描述】:

我在我的 linux 机器上安装了“watchman”和“hgwatchman”。按照https://bitbucket.org/facebook/hgwatchman 链接配置它们。

当我尝试克隆 hg 存储库时,我收到以下警告:

warning: watchman unavailable: watchman socket discovery error: "A non-recoverable condition has triggered.  Watchman needs your help!
The triggering condition was at timestamp=1408431707: inotify-add-watch(/home/prabhugs/work/sw/.hg/store/data/export/types) -> No space left on device
All requests will continue to fail with this message until you resolve
the underlying problem.  You will find more information on fixing this at
https://facebook.github.io/watchman/troubleshooting.html#poison-inotify-add-watch
"

我的 hgrc 文件是这样的,

[extensions]
hgwatchman = /path/to/hgwatchman

[watchman]
mode = {off, on, paraoid}

磁盘空间足够

请帮助克服这个警告。

【问题讨论】:

  • 你可以试试这个解决方案,只是为了消除磁盘空间的不确定性:stackoverflow.com/questions/24466958/…
  • 谢谢文斯,这对我没有帮助:(我经常收到这个错误。但是如果我重新启动我的笔记本电脑,它就会消失。每当我做一个巨大的 hg 操作(以 GiB 为单位)时,我都会得到这个错误返回。

标签: mercurial mercurial-extension


【解决方案1】:

请按照documentation中的说明进行操作。

供参考:

如果您遇到此状态,则表示您的内核无法 观看您要求观看的一个或多个根目录中的目录。 Watchman 认为这种特殊情况是不可恢复的 Watchman 服务无法保证的基础 根本原因已解决,而系统处于此状态 状态,Watchman 不能保证它可以以正确的响应 其客户所依赖的结果。我们认为自己中毒了 并且将失败所有手表的所有请求(不仅仅是它的手表 触发)直到进程重新启动。

这可能触发的主要原因有两个:

  • 已达到用户对 inotify 监视总数的限制或内核未能分配所需的资源
  • 可用的内核内存不足

前者的解决方案是重新访问System Specific Preparation Documentation 并相应地提高您的限制。

后一种情况意味着您的工作量超过 机器上的可用 RAM。很难给出具体的建议 在这里解决这种情况;你也许可以调低其他 系统限制以释放一些资源,或者您可能只需要 在系统中安装更多内存。

【讨论】:

    猜你喜欢
    • 2013-12-07
    • 2019-08-05
    • 2021-07-09
    • 1970-01-01
    • 2015-03-28
    • 2021-11-18
    • 2020-10-25
    • 2011-09-20
    • 1970-01-01
    相关资源
    最近更新 更多