SVN проблема ветвления - PullRequest
       2

SVN проблема ветвления

0 голосов
/ 28 марта 2011

У меня есть мой источник в / tmp / easton / с двумя папками 1 src и 2 Webroot. теперь я делаю svn checkout в папке / var / www / html / easton.

после того, как мне нужно импортировать эти два 1. src (содержат файлы java) 2. Webroot (/ WEB_INF / classes) в мой / var / www / html / easton. для этого я сделал svn import / tmp / easton svn: // localhost / easton это две созданные папки в репозитории.

Теперь мне нужно оформить каталог WebRoot в / var / www / html / easton. для этого я захожу на cd / var / www / html / easton затем svn co svn: // localhost / easton / Webroot

теперь здесь создается каталог WebRoot по адресу /var/www/html/easton.

.

Здесь я сомневаюсь, что я не хочу создавать каталог WebRoot в / var / www / html / easton. но скопируйте все папки в мой /var/www/html/easton.

например В моем WebRoot есть две папки 1. WEB-INF 2. страницы. поэтому я хочу скопировать эти два в / var / www / html / easton / WEB-INF..Pages.

пожалуйста, помогите мне в этом. Это svn ветвление. когда я запускаю команду commit в моем локальном компьютере, он обновляет исходный код в / var / www / html / easton / .., а также в / tmp / easton / src и WebRoot.

1 Ответ

0 голосов
/ 28 марта 2011

Subversion (и любое другое программное обеспечение для контроля версий, которое я знаю) не интересуется, в каком каталоге вы локально проверили источник или данные.

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

Если разные каталоги содержат совершенно разные данные, то ветвление не для вас, просто создайте разные каталоги в Subversion и извлеките каждый из них в один из ваших локальных каталогов. (Но я думаю, что вы уже знаете)

Теперь самое простое: ветвление в Subversion похоже на создание копии. Чтобы отсоединить один каталог от того же самого каталога subversion, вам понадобится:

  1. Отделение / создание копии вашего каталога
  2. Переключить один из локальных каталогов на эту ветку DirA
  3. Внести изменения для этой ветви в dirA
  4. Коммит на dirA (эти изменения будут идти только в ветке)

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

Надеюсь, это поможет и то, что вы хотели знать.

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