Как свести к минимуму количество изменений между ревизиями с новым выводом doxygen?

Репозиторий subversion содержит каталоги html, latex и man, которые doxygen генерирует из исходного кода. Даже при небольших изменениях исходного кода новые файлы генерируются со случайными именами, что приводит к большим изменениям в системе контроля версий.

Есть ли способ обойти это? Как я могу свести к минимуму наборы изменений между ревизиями, в то же время включая документацию, сгенерированную doxygen? В качестве альтернативы, как я могу узнать, какие из файлов, созданных doxygen, больше не используются и должны быть удалены?


person Dirk Eddelbuettel    schedule 09.11.2009    source источник


Ответы (1)


Я ненавижу отвечать на вопрос, не дав ответа на конкретный вопрос, но, как правило, отслеживать документы doxygen в вашем репозитории — плохая идея. То же самое относится и к сценариям конфигурации, сгенерированным autoconf.

Если вы беспокоитесь о том, что люди не смогут создать документы из-за отсутствия doxygen, лучше разместить их в своем частном репозитории на выбранном вами языке и в выбранной вами локали.

Вы можете изменить скрипты сборки, чтобы сделать это за вас без особых усилий. По моему опыту, после нескольких лет работы над бесплатным программным обеспечением с открытым исходным кодом те, кому действительно небезразлична документация, смогут ее сгенерировать... но ваш пробег может варьироваться.

Устранение избыточных конфликтов слияния (например, Джо изменил комментарии И документы и теперь должен объединить оба) ИМХО оправдывает экстернализацию сгенерированных документов.

person Tim Post♦    schedule 09.11.2009
comment
Честная оценка. Я мог бы просто сказать fsck и включить только pdf-файл, сгенерированный из латексных источников, созданных doxygen. OTOH иметь HTML-дерево для просмотра — это хорошо. - person Dirk Eddelbuettel; 09.11.2009
comment
как насчет zip html, меньше файлов слить хотя бы. :) - person Macke; 09.11.2009
comment
Довольно; но достаточно иметь html дерево на сетевом диске. Вам не нужно помещать его под контроль версий. Используйте автоматизированный сервер сборки, чтобы поддерживать эти файлы в актуальном состоянии. - person Aaron Digulla; 09.11.2009
comment
@Маркус Линдблом: чем меньше двоичных двоичных объектов находится в сфере действия VCS, тем быстрее она выполняет такие действия, как деление пополам, сравнение с другой версией и т. д. - person Tim Post♦; 09.11.2009
comment
Аарон, tinkertim: Спасибо, это идея. Исходный код на самом деле заканчивается как tar.gz в зеркальной сети (CRAN, для языка R), но это правда, что я мог бы продолжать генерировать файлы doxygen и отправлять их внутри tar.gz... но начать исключить их из репо, чтобы свести к минимуму «линейный шум при изменениях». Спасибо! - person Dirk Eddelbuettel; 09.11.2009
comment
@Dirk Eddelbuettel: Это был бы правильный путь. Он предотвратит гораздо больше головных болей, чем решит, профилактика лучше, чем лечение. - person Tim Post♦; 09.11.2009