SVN - Как обрабатывать один проект, два вида выпусков, с той лишь разницей, что у одного есть несколько дополнительных файлов - PullRequest
1 голос
/ 26 января 2010

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

Я создал ветку для проекта в SVN с этими файлами, но проблема в том, что каждый раз, когда я меняю ствол, мне нужно делать это снова в ветке или слиянии. Как я могу получить желаемый выпуск без необходимости поддерживать две базы кода? Или есть способ автоматической синхронизации указанных файлов деталей двух проектов (ствол, ветвь)? Любое предложение?

Ответы [ 2 ]

1 голос
/ 27 января 2010

Использование одной модели ветки / ствола обязательно может привести к боли и недопониманию в критические моменты. Каким бы болезненным это ни было, вам нужно иметь две ветви ... или, возможно, настроить различия как отдельный проект через svn: externals. Таким образом, вы можете быть уверены, что получите именно ту версию, которую хотите, и ничего более.

Здесь будет полезен хороший процесс сборки. В рамках web2project мы используем довольно надежный скрипт Phing * - подробное описание здесь: http://caseysoftware.com/blog/the-joel-test-redux-web2project - для обработки вытягивания из тега или нашего ствола по мере необходимости. Приятно то, что мы запускаем ровно одну команду (а затем указываем версию), чтобы создать новый пакет для выпуска.

  • Phing - это просто муравей для мира PHP. Понятия идентичны, а синтаксис очень похож.
1 голос
/ 26 января 2010

Я бы просто держал все файлы в одной ветке и сообщал своему механизму выпуска, какие файлы следует включать. Не зная, как работает ваш процесс релиза, сложно сказать больше ...

...