1

我们在部署的一个分支中遇到错误,查看它我发现一个文件缺少一行代码。我如何找出谁删除了它以及何时删除?

我知道这与 hg blame 有关,但似乎每次我尝试使用它时都会收到“此文件在此提交中不存在”消息,即使这样我也不确定如何制定查询以给出我想要什么。

4

2 回答 2

3

如果您至少知道字符串的一部分,则可以使用hg grep -all -u "STRING" filename(-u 将显示用户名,与变更集相关联)

>hg grep --all -u "load_theme_textdomain" functions.php
functions.php:2:-:lazybadger:load_theme_textdomain('fiver', get_template_directory() . '/translation');
functions.php:2:+:lazybadger:load_theme_textdomain('fiver', get_template_directory() . '/languages');
functions.php:1:+:lazybadger:load_theme_textdomain('fiver', get_template_directory() . '/translation');

成绩单:字符串已添加到变更集 1 ("1:+:") 中,并由用户在输出的字段 4 中使用用户名在变更集 2 (":2:-:" + "2:+:") 中进行编辑。删除的行不会:+:在历史中按时间顺序排列(输出中的第一个)变更集

于 2014-08-14T01:27:43.957 回答
1

好的,我承认您使用 mercurial 进行版本控制,而您想要的命令是

 hg annotate -u

它是责备的别名,嗯,很简单:hg annotate -u yourFile就是这样......

于 2014-08-13T22:13:11.090 回答