2010-12-16 3 views
2

Я беру на себя проект, и я вижу в репозитории subversion некоторые файлы, принадлежащие дистрибутиву libtool и automake, такие как config.guess, depcomp или ltmain.sh. Я считаю, что это просто неправильно, потому что, когда я делаю проверку, я должен установить autotools на моем компьютере и сделать autoreconf.Autotools: должны ли config.guess, depcomp или ltmain.sh храниться в репо SVN?

Как вы думаете? Не хватает ли я этих файлов в репозитории?

ответ

6

Как правило, у вас не было бы таких в репозитории SVN. Обычно у вас есть autogen.sh, который воссоздает его по требованию. Ваш инстинкт не хранить потенциально устаревшие файлы является хорошим. Если кто-то совершит изменение до configure.ac, а кто-то еще проверит все это с configure, изменение не имеет значения.

+0

Примечание: в наши дни `autoreconf -i` работает очень хорошо. В некоторых проектах может потребоваться более конкретный `bootstrap.sh` (я предпочитаю` bootstrap.sh` над `autogen.sh`, потому что есть программа под названием autogen`). – 2011-03-08 11:43:12

4

Почти все, что может быть сгенерировано - и depcomp и т. Д., Принадлежит к этому - не должно быть частью отслеживаемого исходного хранилища.

2

Чистая теория заключается в том, что вы не должны ставить файлы, которые вы можете восстановить в управление версиями. Поскольку вы можете воссоздать эти файлы, используя autoreconf -i или аналогичные, которые применяются в этом случае.

Причина, по которой многие люди все еще делают это (возможно, помимо невежества), это может создать дополнительную дополнительную нагрузку для разработчиков. Если, скажем, у вас есть более крупный проект с открытым исходным кодом с десятками разработчиков и сотнями заинтересованных сторонников, у всех будет установлена ​​другая версия autoconf, automake, libtool, autopoint и т. Д. В простых случаях это не должно иметь значения. На практике это происходит, и это может создать серьезные головные боли и отвратить потенциальных участников проекта.

Итак, в качестве практического компромисса, поскольку эти файлы на самом деле очень редко меняются, если у вас очень сложная настройка, вы можете просто их проверить.