有没有办法忽略hg责任中的提交?

时间:2013-11-29 13:43:53

标签: c++ c mercurial

我有大量宏的文件,我想用C ++代码替换模板。

这样做,我将不得不改变这样的代码

#define stuff_to_do (x) \
   do_some_stuff_##x( );  \
   do_some_more_stuff( x ); 

template <class T>
void stuff_to_do( T x ) {
       do_some_stuff<T>();
       do_some_more_stuff(); 
}

即。在这里和那里更改标签/空格,转义字符和小插入(如<T>)。

然而,重要的是,注释可以指向在此之前进行更改的程序员。

  • 我可以使用mercurial注释忽略特定的提交吗?
  • 如果没有,我还能做其他伎俩吗?

2 个答案:

答案 0 :(得分:3)

没有办法告诉hg annotate不显示某些提交。从此以后,检查“谁最初写这个”的人将不得不在“之前”看到这种大规模的变化。

可能使未来侦探工作更轻松的一些事情是:

  1. 以非人类用户身份进行提交。像hg commit --user "codeformat bot"之类的东西让人们知道不要“责备你”
  2. 保留旧版本但注释掉 - 复制它并更改副本而不是更改原件将使得在注释掉的行上很容易看到原始的责备信息(假设使用了块注释并且是合法的在宏...)

答案 1 :(得分:1)

hg annotate为此提供了一些选项:

--skip <REV[+]>
    revision to not display (EXPERIMENTAL)
-w, --ignore-all-space
    ignore white space when comparing lines
-b, --ignore-space-change
    ignore changes in the amount of white space
-B, --ignore-blank-lines
    ignore changes whose lines are all blank
-Z, --ignore-space-at-eol
    ignore changes in whitespace at EOL
-I, --include <PATTERN[+]>
    include names matching the given patterns
-X, --exclude <PATTERN[+]>
    exclude names matching the given patterns

Mercurial 4.3中添加了实验性--skip选项。