2

我必须获取自上次提交以来更改、添加或删除的文件的列表。命令:hg status例如给我

M file_path
C other_file_path

我需要:

file_path
other_file_path

解决方案必须在 Unix 和 Windows 中工作。

4

1 回答 1

4

如果要列出所有文件,只需-nhg status命令中添加:

$ hg status
M modded.txt
A added.txt
R removed.txt
? unknown.txt

$ hg status -n
modded.txt
added.txt
removed.txt
unknown.txt

但是,这也会列出未知文件(那些是新的,但没有通过hg add命令专门添加到存储库中的文件)。您可以通过添加-q(正如 Lazy Badger 指出的那样)或使用文件集(请参阅 参考资料hg help filesets)来指定所有未知的文件来解决此问题:

$ hg status -n -q
modded.txt
added.txt
removed.txt

$ hg status -n "set:!unknown()"
modded.txt
added.txt
removed.txt

您可以通过组合其他选项来指定列出哪些类型的文件(-a -r例如将显示添加和删除的文件)。或者,您可以使用文件集做一些聪明的事情:例如,仅列出通过使用删除的文件的名称"set:removed()"

于 2013-01-24T15:23:54.313 回答