代码之家  ›  专栏  ›  技术社区  ›  Bob Cross n8wrl

您如何解释$log$关键字的风险?

  •  6
  • Bob Cross n8wrl  · 技术社区  · 16 年前

    我似乎每年都在讨论 $Log$ 关键字。我的观点是:

    $log $ 是白热化的死亡。

    它所做的只是将与之相关的垃圾信息塞进源文件中。任何人认为他们可以从$log$中获得的任何信息都可以从您的版本控制系统中更容易地获得(并且可能在版本控制系统中更准确)。

    所以,这里有一个问题:你如何向一个“老派”的编码员(他认为$log$是管理源代码更改的方法)解释我们现在拥有更好的工具?

    The CVSNT remarks on $Log$ are a good start 但它们不够尖。到目前为止,我所能想到的最接近一行的是” $log $ 是一个愿望。你是 希望 你的文件里有 任何 与此文件的实际情况相关。”

    为清楚起见:当我说“老学校”,我的意思是老的态度,而不是老的年。我的第一笔编程工资(也是一笔非常低的工资)是在1986年的某个时候,我从来没有想过$log$是个好主意。

    4 回复  |  直到 16 年前
        1
  •  8
  •   Stefan    16 年前

    我认为 Subversion FAQ 也有很好的解释。

    当您开始合并更改时,$log$是一个非常恐怖的角色。 分支之间。实际上你肯定会在那里发生冲突, 因为这个关键字的性质,它不能 自动解决。

        2
  •  4
  •   starblue    16 年前

    除了其他人所说的以外,还可以尝试发表评论。*/)在提交消息中:->。

        3
  •  2
  •   Jay R.    16 年前

    源文件中有用位的数量会随着其中包含$log$语句的更改而缓慢减少。我们在一些来自cvs的文件中使用了它,$log$语句的行数比文件中的可执行代码实际长10倍。由于一些分支的合并不好,造成了一些重复。

        4
  •  1
  •   Community CDub    8 年前

    你可以考虑(强调 可以 )嵌入 不变的 文件中的元数据。
    (见我和一个“年长的学生”之间的辩论: Embedded Version Numbers - Good or Evil? )

    尽管我一直认为这种做法是邪恶的(将元数据信息混合到数据中),引入“合并地狱”,但有人可能会认为它可以与正确的合并管理器一起工作,因为 固定格式的不可变元数据 ,像:

    • $修订版$$修订版:9.13$
    • $date$日期:2009/03/06 06:52:26$
    • $rcsfile$$rcsfile:stderr.c,v$

    但是像日志这样的可变元数据?格式或内容未知?那肯定会失败的。