Есть ли способ слияния только в
конкретные изменения, которые я хочу от
конкретная ревизия?
Если вам не нужна полная ревизия, я скопировал бы то, что вы хотите, вручную, создав файл патча и применив его к другой ветке и зафиксировав. Таким образом, вместо того, чтобы Subversion пропустить эту ревизию позже (когда вы реинтегрируете ветвь), она пытается объединить ее, и вы просто имеете дело с обычным конфликтом того, что вы скопировали вручную, но она также сливается с частью, которую вы изначально хотели пропустить.
В случае создания / удаления / добавления файла он будет создан во время реинтеграции и избежит конфликта дерева, поскольку требуемая «частичная ревизия» никогда официально не объединялась.
В случае, когда файл не был создан / удален / перемещен, вы избегаете возможности забыть
что вы исключили часть своей ревизии при слиянии ранее.
Следование вышесказанному предотвращает ваш следующий:
Есть ли способ схватить
изменения, которые я намеренно пропустил, когда я
реинтегрировать всю ветку?
Если вы не объединяете частичную ревизию, не будет ничего преднамеренно исключенного, записанного Subversion, и у вас просто должен быть обычный конфликт, чтобы иметь дело с уже скопированной частью.
В вашем случае вы можете сказать Subversion слить эту индивидуальную ревизию снова, выполнив действия, обратные тем, которые вы делали ранее (разрешение конфликта или возврат той части, которую вы изначально хотели, при этом оставив часть, которую вы изначально пропустили), но я не уверен, как это работает, когда слияние уже записано.
В качестве альтернативы, если вы используете TortoiseSVN, вы должны иметь возможность выбрать ревизию в журнале (в вашей ветви функций), щелкнуть правой кнопкой мыши по файлам, которые вам интересны, и которые были изменены как часть этой ревизии, и "показать изменения". как diff ", сохраните это и примените его вручную к соединительной линии (или какой ветви является целью нашей ветви реинтеграции).
Могу ли я создать структуру каталогов
Мне нужно в багажник а потом слить
поверх только файл меняется?
Попробуйте и посмотрите. В худшем случае вы извлекаете другое рабочее пространство или вручную исправляете содержимое файла (в случае, если он пропускает его)
Могу ли я создать еще одну ветку, переместить
необходимые изменения там,
реинтегрировать эту ветвь, а затем потянуть
из багажника в мою оригинальную ветку?
Теперь вы просто ранили мою голову :) Исправить это вручную звучит как для меня меньше работы. Я бы исправил часть, которую вы исключили, на стволе, а затем повторил бы попытку реинтеграции ветви.
Надеюсь, некоторая часть этого полезна.