python - Hg Git Pull 导致 Too Many Open Files 错误

标签 python macos mercurial hg-git dulwich

我有一个跟踪 git 存储库的 Mercurial 存储库。它在 Windows 10 上工作正常。现在我将它作为目录移动到 Mac,然后运行 ​​hg reset -Ca 只是为了清理它。现在我正在尝试运行 hg pull 它会导致这样的错误:

% hg --traceback --verbose pull                                                                                                255 ↵
pulling from git+https://someserver/somerepo.git
Traceback (most recent call last):
  File "/Users/user/.pyenv/versions/2.7.14/lib/python2.7/site-packages/mercurial/scmutil.py", line 154, in callcatch
  File "/Users/user/.pyenv/versions/2.7.14/lib/python2.7/site-packages/mercurial/dispatch.py", line 314, in _runcatchfunc
.....
  File "/Users/user/.pyenv/versions/2.7.14/lib/python2.7/site-packages/dulwich/pack.py", line 1004, in __init__
  File "/Users/user/.pyenv/versions/2.7.14/lib/python2.7/site-packages/dulwich/file.py", line 90, in GitFile
IOError: [Errno 24] Too many open files: '/Users/user/Projects/somerepo/.hg/git/objects/pack/pack-c03bf69ae597535d876f0dd30ddd6458f2c3f1ff.pack'
abort: Too many open files: /Users/user/Projects/somerepo/.hg/git/objects/pack/pack-c03bf69ae597535d876f0dd30ddd6458f2c3f1ff.pack

我检查了一下,看起来我有最新版本的 hg-gitdulwich

dulwich (0.18.6)
hg-git (0.8.10)

Mercurial 也是最新的

% hg --version 
Mercurial Distributed SCM (version 4.5)

我检查了 Windows 上的 Mercurial 版本,如果重要的话,它是 4.4.2。我想知道是否有人遇到过这样的问题并且可能有解决方法或修复方法。

最佳答案

ulimit -n 在您的 Mac 上说什么?这是打开文件数的限制。然后尝试运行 ulimit -n N 以获得比之前更大的 N,然后再次运行 hg 命令。

您可能希望将 ulimit -n N 命令放入您的 ~/.bashrc 中,以便在每次登录时运行它,如果您遇到此问题超过就这一次。

关于python - Hg Git Pull 导致 Too Many Open Files 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48709660/

相关文章:

mercurial - 定义我的下一次提交添加到哪个分支

mercurial - 在 mercurial 中进行 merge 时忽略空格

python - `--install-option=' --prefix '` and ` --root`和 `--target`之间的 pip (python)差异

python - Snakemake 多个配置文件?

xcode - 如果构建中断,如何使XCode Run Script Build Phase运行?

macos - Laravel Valet - 无法访问此站点

Mercurial Repository - 服务器上的自动每日 hg add/hg commit 命令

python - 在 pdist 压缩距离矩阵中找到最小值的索引

python - 在 python 2.6 脚本中执行从终端获取参数的终端命令

java - 当 ClassLoader 加载 libawt_lwawt.dylib 时 Swing 应用程序挂起