Управление основной библиотекой в ​​Subversion - PullRequest
2 голосов
/ 15 сентября 2010

Это вызывает у меня сильные головные боли! У меня проблемы даже с описанием проблемы словами.

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

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

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

Любой совет?

Ответы [ 3 ]

4 голосов
/ 15 сентября 2010

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

См. Также мой ответ в вопросе SVN: выпуск веток и внешних элементов?

2 голосов
/ 15 сентября 2010

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

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

-lib
-project1
 -lib(branch project 1)
-project2
 -lib(branch project 2)
0 голосов
/ 15 сентября 2010

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

...