如何找出谁删除了分支中的一行代码?

时间:2014-08-13 22:06:31

标签: mercurial blame

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

我知道这与hg责备有关,但似乎每当我尝试使用它时,我得到一个"此文件在此提交中不存在"消息,即便如此,我也不确定如何制定查询以提供我想要的内容。

2 个答案:

答案 0 :(得分: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');

transcript:string在变更集1(“1:+:”)中添加,并在变更集2中编辑(“:2: - :”+“2:+:”)由用户在输出的字段4中输入用户名。删除的行在历史记录中的最后时间顺序(输出中的第一个)变更集中不会有:+:

答案 1 :(得分:1)

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

 hg annotate -u

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