【问题标题】:version control, configuration management and build combined版本控制、配置管理和构建相结合
【发布时间】:2013-05-24 19:35:29
【问题描述】:

您能否解释一下为什么这种方法不存在并且没有广泛使用?

或者如果存在这样的工具集,你能引用它吗?


为什么版本控制系统 (VCS) 正在处理文件(clearcase、svn、git e tc)?而不是单位/功能?

因此,要跟踪功能的更改,必须分析 文件的版本(有时是多个文件)——例如:如果我想分析“更改功能”,我会得到该模块/功能并在一处查看。

如果存在这样的工具...那么,软件配置工具 (SCM) 会将这些单元和/或功能 放在一起发布配置。为什么呢,我们还是用Makefile, build.xml, plugin.xml e tc?

关于构建:编译器真的有必要拥有文件吗?如果 SCM 可以为构建工具准备输入获取二进制文件

例如 C/C++:这样的 SCM 可以在一个块中准备整个源代码并从编译器中获取二进制文件。对于 Java:SCM 可以准备 .java 类并从编译器中获取 .jar。

谢谢。


PS:我不寻找任何特定问题的解决方案,更多的是关于方法。在每个项目中,source/config/build 上的方法相同。使用不同的工具,它们正在不断发展......但没有新的方法/方法可以以不同的方式处理复杂系统。

【问题讨论】:

    标签: version-control build-process configuration-management


    【解决方案1】:

    如果我想分析“更改功能”,我会获得该模块/功能的历史记录并在一个地方查看。

    如果存在这样的工具

    确实如此:参见“Can Git really track the movement of a single function from 1 file to another? If so, how?”及其git blame -C 命令。

    为什么,我们还是用Makefile、build.xml、plugin.xml等?

    If 是关于声明:您声明要构建的内容,但最重要的是按照您需要的顺序和依赖项

    如果 SCM 可以为构建工具准备输入并获取二进制文件?

    构建工具的输入仍然是文件,而不是“单元/函数”:编译工具更加进化,并且能够解析/分析和提取这些单元,从而构建二进制文件.
    将过多的职责放在唯一的 SCM 工具中似乎试图做所有事情,这意味着它不会把“所有事情”做得太好,而不是出色地做一件事。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多