Делает псевдонимы поддержки Подверсии для ответвлений

Существует ли путь в подверсии, чтобы указать, что определенный путь является псевдонимом для другого пути со способностью обновить тот псевдоним, когда условия изменяются? Я могу заблокировать пути для предотвращения изменений в них?

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

  • /versions/1.0 - Предыдущий (заблокированный) выпуск
  • /versions/1.1 - Предыдущий (заблокированный) выпуск
  • /versions/1.1.1 - Текущий Выпуск (Разблокированный для разработки патча)
  • /versions/1.1.2 - Затем Незначительный Выпуск (Разблокированный для разработки)
  • /versions/1.2 - Следующая Главная версия (Разблокированный для разработки)
  • / патч - Псевдоним для/versions/1.1.1, Checkins появляются в обоих местах
  • / подвыпуск - Псевдоним для/versions/1.1.2, Checkins появляются в обоих местах
  • / соединительная линия - Псевдоним для/versions/1.2, Checkins появляются в обоих местах

Цель состоит в том, чтобы поддерживать движение соединительной линии, чтобы не отставать, где большинство разработчиков работает. После того, как мы выпускаем пару раз, и 1.2 идет живой, структура была бы:

  • /versions/1.0 - Предыдущий (заблокированный) выпуск
  • /versions/1.1 - Предыдущий (заблокированный) выпуск
  • /versions/1.1.1 - Предыдущий (заблокированный) выпуск
  • /versions/1.1.2 - Предыдущий (заблокированный) выпуск
  • /versions/1.2 - Текущий Выпуск (Разблокированный для разработки патча)
  • /versions/1.2.1 - Затем Незначительный Выпуск (Разблокированный для разработки)
  • /versions/1.3 - Следующая Главная версия (Разблокированный для разработки)
  • / патч - Псевдоним для/versions/1.2, Checkins появляются в обоих местах
  • / подвыпуск - Псевдоним для/versions/1.2.1, Checkins появляются в обоих местах
  • / соединительная линия - Псевдоним для/versions/1.3, Checkins появляются в обоих местах

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

7
задан Hounshell 11 August 2010 в 18:12
поделиться

2 ответа

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

6
ответ дан 7 December 2019 в 05:15
поделиться

К сожалению, псевдонимы не поддерживаются. Однако скопировать целые деревья легко и быстро. Вы можете либо не создавать версию / 1.2 и т. Д., А затем просто скопировать транк в версию / 1.2, когда придет время, либо вместо этого просто работать с версией / 1.2. В качестве альтернативы вы можете управлять обоими, но использовать процесс для копирования коммитов между ними, например после того, как они прошли все тесты на вашем сервере непрерывной интеграции, он копирует коммиты из ствола в 1.2.

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

2
ответ дан 7 December 2019 в 05:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: