svn: слияние изменений из ветки в рабочую копию без обновления транка

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

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

Мы оба используем eclipse и подключаемый модуль subclipse для управления нашими рабочими копиями.

Проблема в том, что хотя я могу просматривать различия между моей рабочей копией и его веткой (Команда -> Сравнить с -> Веткой), я не знаю, как заставить код из его ветки слиться с моей рабочей копией. Я хочу иметь возможность получать его изменения, не теряя никаких локальных изменений, которые я сделал, запускать его код локально, и никакие из них не влияют на ствол. Кажется, это исключает возможность в Eclipse/SVN переключиться на другую ветку/тег/ревизию, поскольку мне нужно, чтобы его код был объединен с моим (чтобы убедиться, что код моей рабочей копии соответствует моей локальной базе данных).

Мы рассмотрели исправление SVN функция, вместо того, чтобы использовать ветки, возможно, ему следует отправить свои изменения через патч, который я запускаю?

Итак, конкретный вопрос здесь: как мне объединить/включить изменения из ветки с моей рабочей копией, не касаясь ствола? Я также был бы признателен за предложения о том, как мы должны реализовать наш рабочий процесс таким образом, чтобы использовать преимущества svn и eclipse так, как мне не хватает.


person Neil    schedule 01.09.2013    source источник


Ответы (3)


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

  1. Убедитесь, что его ветка успешно построена.
  2. Убедитесь, что проверка вашей магистрали нетронута (никакие файлы SVN не добавлены, не изменены, не удалены, не версия или проигнорированы файлы).
  3. Проведите слияние, решая любые конфликты с его помощью.
  4. Выполните обзор кода, в том числе убедитесь, что ствол стабилен с его изменениями.
  5. Зафиксируйте слияние.

Выполните слияние вне Eclipse, используя команду SVN. -строка. Я видел здесь достаточно вопросов о SO, связанных с Eclipse и Subclipse, которые говорят мне, что плагин ненадежен.

Если бы этим рабочим процессом руководил я, у меня было бы две проверки магистрали: одна предназначена для слияния и всегда находится в первозданном состоянии, а другая — в которой я могу активно развиваться. Таким образом, мне не нужно было бы создавать патч моих изменений, затем объединять, а затем применять патч.

Надеюсь это поможет.

person Sameer Singh    schedule 03.09.2013

Печальная правда заключается в том, что SVN, вероятно, не подойдет для этого шаблона. Ветвление создает много проблем в проверке Subversion >здесь, чтобы получить более подробную информацию.

person Jesko R.    schedule 01.09.2013

Мне было достаточно обновить ветку из командной строки с помощью 'svn up'.

person flm    schedule 13.01.2016