2012-03-13 93 views
0

我想寫一個遞歸下降目錄樹的腳本,並對所有「乾淨」存儲庫執行hg pull -u - 即沒有本地差異,即將離任的變更集或任何可能使它們與遠程不同的其他內容。 (該腳本還將重建等)只有當本地存儲庫是「乾淨」時,hg纔會更新/更新

有沒有一種檢查版本庫是否「乾淨」的好方法?請記住,我可能會從bash或python腳本中完成此操作。

回答

0

hg status是你的朋友。但是,您應該小心「乾淨」的含義。如果目錄結構中的所有文件都受版本控制,並且它們都沒有更改,則hg status應該不返回控制檯輸出,並且可能返回0代碼。

如果這與您的清潔定義不符,您必須更加小心。例如,我通常不會將生成的文件(二進制文件,Latex的PDF等)添加到版本控制中,但它們位於我的目錄結構中。在這種情況下,這些文件被列爲「未知」,並且我確信hg的返回碼將有所不同。

+0

如果有外出變更集,hg狀態是否返回0?如果更新可能導致合併,我不想執行hg pull -u。我想我應該(單獨)檢查hg提示是否與遠程存儲庫的提示匹配? – jhourback 2012-03-13 22:24:54

+0

即使存在本地修改,「hg status」始終返回0。我想我可以在python/bash中解析輸出,但是這有點麻煩。 – jhourback 2012-03-13 23:14:15

+0

@jhourback - 1.拉**從不**合併拉本變更集與本地2. hg st | wc -l在乾淨WC上返回0,3. hg out結果與拉動可能性無關(請參閱第1頁) – 2012-03-14 00:40:09

相關問題