【发布时间】:2013-09-10 22:14:42
【问题描述】:
我在我的项目中使用 Autotools,我想使用版本控制。
将配置脚本和所有由 autoconf 和 automake 生成的东西(不包括符号链接)添加到存储库是个好主意,还是只保留源文件 Makefile.am 和 configure.ac?
【问题讨论】:
标签: git version-control autotools autoconf automake
我在我的项目中使用 Autotools,我想使用版本控制。
将配置脚本和所有由 autoconf 和 automake 生成的东西(不包括符号链接)添加到存储库是个好主意,还是只保留源文件 Makefile.am 和 configure.ac?
【问题讨论】:
标签: git version-control autotools autoconf automake
作为一个经验法则,最好不要包含生成的文件,因为它会妨碍可移植性。
例如: 您为您的 PC (PC1) 上传了文件,其中存储了 PATH 配置。您的合作者下载了您生成的文件以在另一台计算机 PC2 上运行,但由于生成的文件指向 PC2 中不存在的不同 PATH,因此无法运行。
但是,当您需要存档输出并且没有专用的备份服务器时,您可以将生成的文件添加到版本控制中。如果您知道自己在做什么并且有充分的理由这样做,那就没问题。
希望这会有所帮助!
【讨论】:
我只会承诺在 GPL v3 法律术语中称为 corresponding source 的修订控制,并尝试使其尽可能小。我从不提交configure 等。什么时候可以。
可移植性并不是真正的问题,因为自动工具旨在帮助可移植性。无论如何,您总是可以清除自动工具生成的文件,例如 configure,并用适合您的文件替换它们。问题是(在提交时)这些文件很容易变得冲突,否则在没有真正改变的情况下会显示更改活动。
【讨论】: