AutoTools: Должны ли конфигурация, DEPCOMP или LTMAIN.SH храниться в репо SVN?
Вопрос
Я занимаю проект и вижу в репозитории подрывной деятельности некоторые файлы, которые принадлежат распределению Libtool и Automake, таких как Config.guess, DepComp или Ltmain.sh. Я считаю, что это просто неправильно, потому что, когда я делаю проверку, я должен установить автозаконие на моей машине и сделать AutoreConf.
Что вы думаете ? Я упускаю точку зрения на наличие этих файлов в репозитории?
Решение
Как правило, у вас не будет тех, кто в вашем репо SVN. Обычно у вас есть autogen.sh
Это воссоздает это по требованию. Ваш инстинкт не хранить потенциально стали файлы-хороший. Если кто -то совершает изменение в configure.ac
, и кто -то другой проверяет все это с configure
, изменение не будет иметь значения.
Другие советы
Почти все, что может быть сгенерировано - и DEPCOMP и т. Д. Принадлежат к этому - не должно быть частью отслеживаемого хранилища источника.
Чистая теория заключается в том, что вы не должны вставлять файлы, которые вы можете восстановить в контроль версий. Поскольку вы можете воссоздать эти файлы, используя autoreconf -i
или аналогично, это применимо в этом случае.
Причина, по которой многие люди все еще делают это (помимо невежества, возможно,), заключается в том, что это может создать значительное дополнительное бремя для разработчиков. Если, скажем, у вас есть более крупный проект с открытым исходным кодом с десятками разработчиков и сотни заинтересованных подписчиков, у каждого будет другая версия AutoConf, Automake, Libtool, Autopoint и т. Д. В простых случаях это не должно иметь значения. На практике это так, и это может создать серьезные головные боли и отвергать потенциальных участников проекта.
Таким образом, в качестве практического компромисса, поскольку эти файлы действительно меняются очень редко, если у вас очень сложная настройка, вы можете просто проверить их в любом случае.