问题标签 [hglib]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mercurial - Hglib:如何通过 ssh 连接到远程仓库?
使用“原始”的 mercurial API,我可以编写如下内容:
建立连接后,我可以使用远程仓库。
我无法理解使用 hglib 的远程仓库应该如何工作。天真的方法,即使用一些简单的东西:
不起作用,并且引发的异常并没有让我更清楚。
我的问题:使用 hglib,我如何打开与远程 ssh-repo 的连接?
python - 使用 python-hglib 提交单个文件
我正在尝试使用 python-hglib 实现一个基本的 scm。
到目前为止,我已经设法连接到一个 repo(本地),我想在许多文件中提交一个文件。我不知道该怎么做。考虑以下:
这成功连接到my_mercurial_repo,但是当我到达提交行时,我收到此错误:
'hglib.error.CommandError'>, CommandError('commit', '-m', 'Checkpoint', '-u', 'myself', '--debug')
但是,如果我将其更改为:
rev, node =client.commit('简单提交消息', addremove=True, user='user1')
它工作正常。查看文档,addremove=True
在提交之前将新/丢失的文件标记为添加/删除。
所以我想我的问题是:如何使用 python-hglib 在 n 个文件的存储库中提交单个文件?
只是一个快速更新,感谢@kAlmAcetA 的回复,我按照建议更新了我的代码以包含
当我这样做时,错误消失了,第一次提交被执行。如果我在打开的同一个文件上再次执行代码,我仍然会收到错误消息。所以也许我想做的是
- 打开一个文件(我没问题)
- 在文件中添加一些文本(我可以接受)
- 提交文件
- 在同一个文件中添加更多文本(我可以接受)
- 提交文件
我现在正在努力为单个文件执行 commit-->edit-->commit 循环。
问候
python - 使用 hglib 时如何停止 hg 子进程
我在 Mercurial 中有一个 Python 应用程序。在应用程序中,我发现需要显示它当前正在运行的提交。到目前为止,我发现的最佳解决方案是使用hglib
. 我有一个看起来像这样的模块:
这用于hglib
查找使用的版本并将结果存储在一个变量中,我可以在服务保持运行的整个时间内使用它。
我现在的问题是这会留下一个hg
子进程运行,这对我来说没用,因为一旦这个模块完成初始化,我就不需要再使用hglib
了。
一旦我对存储库实例的引用超出范围,我本来希望在垃圾收集期间关闭子进程。但显然这不是它的工作方式。
在阅读hglib
文档时,我没有找到任何关于如何关闭子进程的文档。
hg
完成后关闭子进程的首选方法是什么?
python - hglib:显示修订版的补丁,可能吗?
我正在尝试使用 hglib 获取给定版本的补丁。我知道 hg 命令是
hg log -pr rev
但我找不到如何使用 hglib 执行此操作或等效操作。似乎没有功能可以做到这一点,除非我自己破解代码来运行上述命令。任何帮助将不胜感激?
python - 如何知道分支是否使用其变更集关闭?
内部构建系统构建在分支上所做的每个提交。但是,在 Mercurial 中,要关闭一个分支,您必须进行“关闭提交”,触发该提交的构建。
这是一个问题,因为我们在不必要的构建上浪费了资源。
我们使用hglib来完成所有的 mercurial 代码。
我试过这个命令,但这会忽略以前的提交,因为我知道它只是检查它是否作为 repo 中的一个分支存在。
有什么方法可以通过变更集或其他方式知道分支上的提交是否是“关闭提交”。