Python 如何查看mercurial文件上下文的更改?

Python 如何查看mercurial文件上下文的更改?,python,api,mercurial,Python,Api,Mercurial,我目前正在尝试编写一个脚本,该脚本将在任务描述中给定某个#的条件下查找所有已更改的文件,并且我已经获得了该脚本。但现在我正试图根据文件是被添加、修改还是删除来对其进行排序。我已经查过了,但是我找不到任何可以做我想做的事情 我的代码当前使用repo[revnum].description()并对其进行解析,以查找哪些文件包含#,如果包含,则将文件上下文添加到列表中。 这很好,我可以打印一个文件列表,但是我找不到一个方法来查看每个上下文都做了什么。这里有谁能帮我一下,或者给我指一些更好的文档吗?您需

我目前正在尝试编写一个脚本,该脚本将在任务描述中给定某个#的条件下查找所有已更改的文件,并且我已经获得了该脚本。但现在我正试图根据文件是被添加、修改还是删除来对其进行排序。我已经查过了,但是我找不到任何可以做我想做的事情

我的代码当前使用
repo[revnum].description()
并对其进行解析,以查找哪些文件包含
#
,如果包含,则将文件上下文添加到列表中。
这很好,我可以打印一个文件列表,但是我找不到一个方法来查看每个上下文都做了什么。这里有谁能帮我一下,或者给我指一些更好的文档吗?

您需要使用Mercurial API吗?通过使用
hglog

的输出,您可以完成所需的工作。您需要使用Mercurial API吗?通过使用
hglog

的输出,您可以完成所需的工作。通常,您应该避免直接使用Mercurial API编写脚本。最好编写脚本以使用CLI,或者甚至使用。如合同所述:

对于绝大多数第三方代码,最好的方法是使用 Mercurial发布、记录和稳定的API:命令行 接口

也就是说,如果您确实需要使用API,您可以使用查找您询问的信息:

modified, added, removed, deleted, unknown, ignored, clean = repo.status(revnum-1, revnum)

通常,应该避免直接使用Mercurial API编写脚本。最好编写脚本以使用CLI,或者甚至使用。如合同所述:

对于绝大多数第三方代码,最好的方法是使用 Mercurial发布、记录和稳定的API:命令行 接口

也就是说,如果您确实需要使用API,您可以使用查找您询问的信息:

modified, added, removed, deleted, unknown, ignored, clean = repo.status(revnum-1, revnum)

我最终使用了类似于Tim所说的东西,尽管我仍然使用API。 我从mercurial导入命令,然后调用commands.status(repo.ui,repo,change=revnum)

我使用repo.ui.pushbuffer()和repo.ui.popbuffer()捕获了这个的输出

A file_path1
R file_path2
R file_path3
A file_path4
M file_path5

我解析了这个输入,并将其排序为添加、删除、修改等。

我最终使用了类似于Tim所说的内容,尽管我仍然使用API。 我从mercurial导入命令,然后调用commands.status(repo.ui,repo,change=revnum)

我使用repo.ui.pushbuffer()和repo.ui.popbuffer()捕获了这个的输出

A file_path1
R file_path2
R file_path3
A file_path4
M file_path5
我分析了这个输入,并将其排序为添加、删除、修改等