我从this answer知道我可以做到
hg status --rev x:y
列出在版本x
和y
之间已更改的文件。有没有办法获取单个文件,而不是仅包含它们的目录?
例如,如果上面的命令将产生结果
A Foo\Bar\SomeFile.txt
A Foo\Bar\AnotherFile.cs
M Baz\AnotherFile.txt
我想得到
Foo\Bar
Baz
代替。
您可以使用模板来更改hg st
的输出格式,就像对任何“类似日志的”汞命令一样(请参见-T
选项)
尾注:
虽然hg st
的默认输出消除了结果中重复的文件名(如果它们出现),但是您的模板不会(同样,“默认情况下”)
>hg st --rev 1170:tip
M hggit\__init__.py
M hggit\compat.py
M hggit\git_handler.py
M hggit\gitdirstate.py
M hggit\hg2git.py
M tests\test-illegal-contents.t
我的
>hg st --rev 1170:tip --template "{files % '{file}\n'}" hggit/__init__.py hggit/__init__.py hggit/__init__.py hggit/__init__.py hggit/__init__.py hggit/__init__.py
(六次文件
仅来自笔尖,而不是范围)即使使用
),您也会从第1页开始遇到问题:“同一文件的输出中有多个文件条目”hg log -T
而不是st(会给出所有文件