我正在编写一个钩子,它应该在实际提交之前处理文件。所以我发现我可以获得所有文件的列表,如下所示:
def hook(ui, repo, node, **kwargs):
changedFileList = repo.status()[0]
所以,这个结构为我提供了已更改文件的列表。现在,假设用户只选择了一些要提交的文件(例如通过tortoise ui)。
答案 0 :(得分:1)
只需使用正确的挂钩,您的情况可能是pretxncommit
挂钩。在提交的钩子$HG_NODE
已经存在,但提交尚未完成。但是明确地使用$HG_NODE
,您可以检查该提交的所有属性,包括它接触的文件,例如通过
hg log -r$HG_NODE --template="{files}\n"
或在python代码中
_changedFiles = [os.path.abspath(file) for file in repo[_node].changeset()[3]]
检查hg help hgrc
(在其中搜索钩子)和hg log templates
如何以您需要的方式微调日志输出。