2010-09-15 2 views
2

Это дает мне большие головные боли! У меня возникают проблемы, даже описывая проблему словами.Управление основной библиотекой в ​​Subversion

В принципе, я хочу, чтобы иметь возможность управлять основной библиотекой (coreLib) классов Actionscript с учетом следующих требований:

  • последняя версия проверяется, когда начинается новый проект.
  • dev может внести изменения в coreLib, а затем передать их обратно в repo по мере написания проекта (возможно, исправления ошибок, добавленные функции и т. Д.)
  • проект содержит «моментальный снимок» coreLib, так что , если он возвращается через несколько месяцев, он (как можно скорее) имеет копию coreLib, которая гарантировала совместимость с проектом.

Я пробовал использовать внешние, но это может нарушить совместимость, идущую назад. В настоящее время я экспортирую coreLib в проект и его VC'd вместе с проектом. Я не могу понять, как вернуть изменения в репо, но не просто копировать верх и проигрывать историю.

Любые советы?

ответ

2

У вас есть один «путь/папка» для вашей основной библиотеки, который используется как trunk. Почему бы просто не копировать свой «основной ящик библиотеки» в папку проекта? Это не что иное, как ветка из вашей «основной библиотеки», живущей в папке вашего проекта.

Разработчики могут изменять свою основную библиотеку без нарушения каких-либо зависимостей. Слияние между «ядром основной библиотеки» и «ветвями проекта основной библиотеки» может осуществляться без побочных эффектов.

-lib 
-project1 
-lib(branch project 1) 
-project2 
-lib(branch project 2) 
+0

Интересно, не уверен, как этого добиться. – hamishtaplin

+1

@dr_tchock: соединительные и отраслевые каталоги - это просто обозначения соглашений в подрывной деятельности. Выполнение * svn cp * - это не что иное, как создание ветки. Когда вы настраиваете новый каталог, просто выполните * svn cp 'core-lib-path' 'project1/lib/*. – zellus

+0

Спасибо за разъяснение. Я тестирую это сейчас - он выглядит как лучший ответ. – hamishtaplin

4

Как именно svn: наружные нарушения совместимости идут назад? Вы можете связать svn: externals с конкретной ревизией, чтобы при возврате в историю ваш проект был связан с правильной версией библиотеки.

Смотрите также мой ответ на вопрос SVN: Release branch and externals?

+0

Интересно, я взгляну на это. – hamishtaplin

0

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

+0

Это в одном репо, не уверен, какова ваша точка. – hamishtaplin

+0

Я тоже. ;-) Извините, я пропустил, что вы это уже делаете. Я думаю, что мои опрометчивые мысли пошли в том же направлении, что и зеллу. – splash

Смежные вопросы