Реструктуризация SVN, когда у вас уже есть ветки / теги - PullRequest
3 голосов
/ 24 февраля 2010

У меня есть проект с такой структурой:

project
  code
  art
  config

Art имеет размер более 1 Гб и может вызывать проблемы при переключении веток, плюс разработчикам это все равно не нужно. Поэтому я хочу перенести его в отдельный проект верхнего уровня, project-art. Это нормально в транке, но у меня уже есть некоторые ветки, над которыми активно работают ... так что текущая текущая настройка больше похожа на:

project
  trunk
    code
    art
    config
  branches
    branch123
      code
      art
      config

Как я могу вывести искусство из концептуальной структуры, не повредив его при слиянии ветвей?

Я вижу один вариант - переместить его из проекта / trunk ---> project-art / trunk, а затем просто удалить art из каждой ветви, но это выглядит странно. Или, когда я перемещу его из ствола, он будет автоматически удален и из веток, поскольку они являются ленивыми копиями?

Ответы [ 3 ]

1 голос
/ 25 февраля 2010

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

0 голосов
/ 25 февраля 2010

Если подкаталог 'art' не будет изменен ни в одной из веток, вам не придется беспокоиться о слияниях. Просто идите вперед и перенесите «искусство» на новое место. Ветви сливаются обратно в ствол без конфликтов, так как они не имеют изменений в «искусстве».

0 голосов
/ 24 февраля 2010

Я бы оставил ветви в покое, переместил проект-арт в сундук и просто слил искусство отдельно. Subversion сосет при отслеживании переименований (это просто удаление и удаление) и не объединяет их.

  1. Слияние svn: // repo / project / branch / branch123 / art с svn: // repo / project-art

Тогда сделайте все остальное

  1. Объединить svn: // repo / project / branch / branch123 / с svn: // repo / project / code
  2. Объединить svn: // repo / project / branch / branch123 / код с svn: // repo / project / config

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

Полагаю, если у вас есть все, от искусства, объединенного обратно к стволу, тогда можно удалить их. Поскольку, как вы сказали, программисты их не используют.

Или когда я перемещаю его из ствол будет автоматически удален из веток тоже, так как они ленивые копии?

Он не будет автоматически удален из веток. Для этого вам нужно слить ствол в ветку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...