作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Mercurial 中有一个 Python 应用程序。在应用程序中,我发现需要显示当前正在运行的提交。到目前为止我发现的最好的解决方案是使用hglib
。我有一个如下所示的模块:
def _get_version():
import hglib
repo = hglib.open()
[p] = repo.parents()
return p[1]
version = _get_version()
这使用hglib
来查找使用的版本并将结果存储在一个变量中,我可以在服务保持运行的整个过程中使用该变量。
我现在的问题是,这会使 hg
子进程运行,这对我来说毫无用处,因为一旦该模块完成初始化,我就不需要使用 hglib
不再了。
一旦我对存储库实例的引用超出范围,我预计子进程会在垃圾收集期间关闭。但显然这不是它的工作原理。
在阅读 hglib
文档时,我没有找到任何有关如何关闭子进程的文档。
完成后关闭 hg
子进程的首选方法是什么?
最佳答案
您需要像对待文件一样对待存储库。完成后调用 repo.close() 或在 with 中使用它:
def _get_version():
import hglib
with hglib.open() as repo:
[p] = repo.parents()
return p[1]
version = _get_version()
关于python - 使用 hglib 时如何停止 hg 子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31203528/
我正在尝试使用 python-hglib 实现一个基本的 scm。 到目前为止,我已经成功连接到一个存储库(本地),并且我想在多个文件中提交一个文件。我不知道该怎么做。考虑以下因素: client =
我在 Mercurial 中有一个 Python 应用程序。在应用程序中,我发现需要显示当前正在运行的提交。到目前为止我发现的最好的解决方案是使用hglib。我有一个如下所示的模块: def _get
我是一名优秀的程序员,十分优秀!