我想在变更集中获取所有已更改的文件,但没有指定更改类型的字母。
我知道这个命令
hg status --change changeset
然而,这个返回结果如,
A /path/to/file
M /path/to/file
我希望结果是
/path/to/file
没有" A"或" M"。我尝试用正则表达式来做它以前工作但我不知道它在一个场景中没有工作。
正则表达式
/(?<=[MA]\s).+/
这种情况不起作用
arwa/Documents/Projects/firefox/M db << notice M here.
有什么想法吗?
答案 0 :(得分:1)
您应该在正则表达式中添加^
(行首):
/(?<=^[MA]\s).+/
如果你不这样做,(?<=[MA]\s)
会看到M
部分后面,而.+
会抓住db
。
答案 1 :(得分:1)
从Mercurial 3.5开始,您可以使用模板(仍然是实验性功能,您可以使用hg help status -v
查看)。即:
hg status --change <rev> --template '{path}\n'
答案 2 :(得分:1)
为什么不使用带模板的日志?
hg log -r CSET -T "{files % '{file}\n'}"
将产生干净的输出
lang/UTF-8/serendipity_lang_ru.inc.php
plugins/serendipity_event_bbcode/UTF-8/lang_ru.inc.php
plugins/serendipity_event_emoticate/UTF-8/lang_ru.inc.php
plugins/serendipity_event_karma/UTF-8/lang_ru.inc.php
plugins/serendipity_event_s9ymarkup/UTF-8/lang_ru.inc.php
plugins/serendipity_plugin_shoutbox/UTF-8/lang_ru.inc.php
与模板状态相反
'lang\UTF-8\serendipity_lang_ru.inc.php
''plugins\serendipity_event_bbcode\UTF-8\lang_ru.inc.php
''plugins\serendipity_event_emoticate\UTF-8\lang_ru.inc.php
''plugins\serendipity_event_karma\UTF-8\lang_ru.inc.php
''plugins\serendipity_event_s9ymarkup\UTF-8\lang_ru.inc.php
''plugins\serendipity_plugin_shoutbox\UTF-8\lang_ru.inc.php
'