Слияние рабочей копии одной ветви с другой (локально, без фиксации)

Большая часть моего опыта связана с Perforce, и мой последний опыт в svn был давным-давно, так что я (пока еще) не чувствую себя комфортно с (черепахой) svn.

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

Чтобы быть в порядке, рассмотрим:

    trunk_revx
        |     \
        |      Branch_A
    trunk_revy   \
        |\       WC_A (containing my changes)
        | \
        |  Branch_B
        |    \
        |    WC_B (fresh, where I want to merge my changes to)

Какая была бы правильная команда, чтобы получить трехстороннее слияние между WC_A, trunk_revx и WC_B без фиксации чего-либо? Объединить (позвонить в какую папку WC?) Или Switch (снова позвонить куда?)?

Все термины разные, поэтому я немного растерялся;)

1 ответ

Я предлагаю вам следующие действия:

  1. Из WC_A: сохраните локальные изменения, создав файл исправления с помощью TortoiseSVN (в случае, если последующие действия потерпят неудачу и потеряют ваши изменения)
  2. Из WC_A: выполнить TortoiseSVN ==> switch... и переключитесь на Branch_B:
    • Branch_B объединяется с WC_A (локально)
    • и ваши локальные модификации сохраняются
    • и теперь ваш WC_A указывает на ветвь B

Вам просто нужно иметь дело с тем, что ваш WC_A становится вашим WC_B!

В качестве альтернативы, если вы не хотите фиксировать в Branch_A, но можете в любом случае зафиксировать, вы также можете зафиксировать локальные изменения в новой небольшой ветви (ветви branch_A) и выполнить merge из этой новой ветви в Branch_B.

Другие вопросы по тегам