Слияние рабочей копии одной ветви с другой (локально, без фиксации)
Большая часть моего опыта связана с 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 ответ
Я предлагаю вам следующие действия:
- Из WC_A: сохраните локальные изменения, создав файл исправления с помощью TortoiseSVN (в случае, если последующие действия потерпят неудачу и потеряют ваши изменения)
- Из WC_A: выполнить
TortoiseSVN ==> switch...
и переключитесь на Branch_B:- Branch_B объединяется с WC_A (локально)
- и ваши локальные модификации сохраняются
- и теперь ваш WC_A указывает на ветвь B
Вам просто нужно иметь дело с тем, что ваш WC_A становится вашим WC_B!
В качестве альтернативы, если вы не хотите фиксировать в Branch_A, но можете в любом случае зафиксировать, вы также можете зафиксировать локальные изменения в новой небольшой ветви (ветви branch_A) и выполнить merge
из этой новой ветви в Branch_B.