在 hg 钩子中获取为提交文件选择的列表
Get list selected for commit files in hg hook
我正在编写一个挂钩,它应该在实际提交文件之前处理文件。所以我发现我可以像这样获得所有文件的列表:
def hook(ui, repo, node, **kwargs):
changedFileList = repo.status()[0]
因此,此构造为我提供了已更改文件的列表。现在,假设用户只选择了一些要提交的文件(例如通过 tortoise ui)。
只需使用正确的挂钩,您的情况可能是 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
如何以您需要的方式微调日志输出。
我正在编写一个挂钩,它应该在实际提交文件之前处理文件。所以我发现我可以像这样获得所有文件的列表:
def hook(ui, repo, node, **kwargs):
changedFileList = repo.status()[0]
因此,此构造为我提供了已更改文件的列表。现在,假设用户只选择了一些要提交的文件(例如通过 tortoise ui)。
只需使用正确的挂钩,您的情况可能是 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
如何以您需要的方式微调日志输出。