代码之家  ›  专栏  ›  技术社区  ›  Richard Nichols

是否有允许自定义$Keywords$的源代码管理系统?

  •  1
  • Richard Nichols  · 技术社区  · 17 年前

    我想知道是否有任何源代码控制系统允许管理员定义自定义关键字,这些关键字在签入时会被替换为不同的行为(即类似于$Id$或$Author$等)

    我只熟悉SVN和CVS,它们有一组关键字列表,但也有类似$LineNo$或$MyLicenceText$的应用程序。我相信还会有其他用例。这个想法是创建一个插件架构,可以定义或修改关键字的行为。

    所以我的问题是,有没有一个工具(商业或开源)已经有了这样的东西?

    编辑:将其作为构建的一部分是解决问题的有效方法,但如果开发人员在签入之前没有进行构建,则会导致问题。想象一下,对于$LineNo$这样的东西,如果构建与源代码不完全同步,则值很容易不正确。对于具有更多静态行为的关键字(如$MyLicenceText$),在构建时替换是一种有效的解决方案。

    3 回复  |  直到 17 年前
        1
  •  2
  •   Brian Campbell Dennis Williamson    17 年前

    你可以看看 filter 可以使用设置的属性 .gitattributes Git 。这允许您定义两个转换,称为 污迹 ,它允许您在签出文件时以任何任意方式转换文件,并在签入时再次转换回文件。

        2
  •  0
  •   Martin    17 年前

    就像Brian上面对Git所说的,Subversion还可以让你做前/后提交钩子,可以替换这种形式的$Keywords。我认为SVN世界的问题在于,你真的

    在Ant或Maven的构建过程中,有什么原因不能这样做吗?

        3
  •  0
  •   pablo    17 年前