2012-06-01 40 views
2

目前,我想要寫一個腳本,會發現所有的文件改給予一定#在任務說明,我已經得到了腳本來爲這項工作。但現在我試圖按文件是否被添加,修改或刪除來分類。我查看了Mercurial API,但我找不到任何可以做我想做的事情。如何查看mercurial文件上下文的更改?

我的代碼當前使用repo[revnum].description()並解析它以找出哪些包含#,如果他們這樣做,則將文件上下文添加到列表中。 這工作得很好,我可以打印文件的列表,但我不能找到一個方法,看看有什麼與各方面進行。任何人都可以幫我解決這個問題,或者指點我一些更好的文檔嗎?

回答

1

我結束了使用類似於蒂姆說了些什麼,但我仍然使用API​​。我使用repo.ui.pushbuffer()和repo.ui.popbuffer()來捕獲這個輸出,並使用repo.ui.pushbuffer()和repo.ui.popbuffer() ),它是在形式

A file_path1 
R file_path2 
R file_path3 
A file_path4 
M file_path5 

我分析這個輸入並分類成添加,刪除,修改等。

2

你需要用水銀API工作?這是可以做到的,你需要什麼用的hg log

1

輸出一般的工作,你應該避免編寫腳本直接使用水銀API。編寫腳本以使用CLI或者甚至可以使用hglib更好。作爲對MercurialApi wiki說:

對於絕大多數的第三方代碼,最好的方法是使用 Mercurial的出版,記錄和穩定的API:在命令行界面 。

話雖這麼說,如果你真的需要使用API​​,你可以使用repo.status()找到你詢問有關信息:

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