Autotools输出脚本和Makefile是否应包含在存储库中?

时间:2013-09-10 22:14:42

标签: git version-control autotools autoconf automake

我在项目中使用Autotools,我想使用版本控制。

将配置脚本以及autoconf和automake(不包括符号链接)生成的所有内容添加到存储库,或者只是简单地使用源文件Makefile.am和configure.ac?

2 个答案:

答案 0 :(得分:3)

作为一个拇指规则,最好不要包含生成的文件,因为它会妨碍可移植性。

例如: 您上传了存储有PATH配置的PC(PC1)的文件。您的协作者下载了您生成的文件,以便在另一台计算机PC2上运行,但由于生成的文件指向PC2中不存在的其他PATH,因此无法生成。

但是,当您需要存档输出并且没有专用的备份服务器时,可以将生成的文件添加到版本控制。如果你知道自己在做什么,并且有充分的理由这么做,你就没事了。

希望这有帮助!

答案 1 :(得分:2)

我只会承诺在corresponding source的GPL v3 legalese中调用所谓的版本控制,并尝试尽可能小。我从不承诺configure等。我什么时候可以。

可移植性并不是真正的问题,因为autotools旨在帮助实现可移植性。无论如何,您总是可以吹掉自动工具生成的文件,例如configure,并将它们替换为适合您的文件。问题在于(当被投入时)这些文件将很容易变成冲突,并且在没有真正改变的情况下显示更改活动。