Объясняю вкратце, зачем это надо (для тех, кто знает, что такое CVS)
Допустим, я хочу написать мод "Super MOD".
1) Беру свежую версию форума, ставлю на локальный сервер, кладу под CVS (например, под именем phpbb-mods). Либо делаю ветку (branch) уже имеющегося форума (с именем supermod). Вешаю тег supermod-0-1-0.
2) Дальше пишу мод: меняю файлы, добавляю новые и т.д. (все коммиты идут в ветку supermod). Когда чувствую, что "дошел" до версии 0.1.1, вешаю тег supermod-0-1-1.
3) Пора опубликовать мод - пусть народ потестирует. Делаю rdiff
Код: Выделить всё
cvs rdiff -c -r supermod-0-1-0 -r supermod-0-1-1 phpbb-mods > supermod011.patch
Получаю фактически готовый мод в формате patch (supermod011.patch), в нем зафиксированы все изменения и все новые файлы! Осталось применить магическую (и, похоже, несуществующую) утилитку patch2mod - вуаля!
supermod011.mod, полученный полностью автоматически.
Конечно, с бинариками типа картинок придется разбираться отдельно. но это мелочи...
4) Дальше еще круче. Народ нашел кучу багов - фиксим их, добавляем новые фичи, получаем версию 0.1.2. Вешаем тег supermod-0-1-2. Тем же rdiff'ом получаем supermod012.patch и (тада!) supermod_update_011_to_012.patch ! rdiff можно сделать между любыми двумя ревизиями (что и нужно тов. Рамзесу). Можно даже сделать rdiff c более новой версии на старую (например, соорудить патч для удаления мода). Снова магическая утилитка - и в сеть...
На форуме, кстати, были обсуждения, что .patch файлы можно устанавливать автоматически, похлеще всяких EasyMOD'ов. Так что имеет смысл patch публиковать тоже.
И это самый простой сценарий использования CVS...
Товарищи гуру
Хочу написать статью типа "Использование CVS при создании модов". Оно кому-нибудь надо?
Похоже, мало кто пользуется этой удобнейшей вещью. А это не так сложно, как кажется.
Возвращаясь к теме: видимо, придется самому соорудить php-шничек, который бы перегонял patch в mod. И настанет благодать...
PS. просто раньше я не публиковал свои моды, а сейчас вот назрела необходимость.