Что произойдет, если вы объедините определенный набор ревизий из транка в ветку с subversion? - PullRequest
0 голосов
/ 23 декабря 2008

Если я внесу изменения в ствол в 3 разных файла, скажем, ревизии 40, 45 и 47 соответственно, где ни один из этих файлов не изменился после ревизии 15, как я могу объединить эти ревизии в ветку (сделанную в ревизии 30 и с тех пор без изменений) так что я получаю только изменения между версией 15 и версией 40, 45 и 47 для каждого из соответствующих файлов?

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

Ответы [ 2 ]

1 голос
/ 23 декабря 2008

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

0 голосов
/ 23 декабря 2008

В нашей системе мы постоянно осуществляем подобное слияние. По большей части все работает отлично.

Вы можете выполнить слияние для всех трех ревизий, и если изменения не являются взаимозависимыми, у вас все хорошо.

Использование TortoiseSVN облегчает задачу, поскольку вы можете просто указать 40,45,47 в качестве соответствия диапазона. В противном случае просто введите отдельный svn merge для каждого оператора ревизии, и он соберет все вместе.

Если изменения, которые вы не вносите, влияют на те же строки, вы получите конфликт слияния. Это лучший сценарий, потому что это означает, что вам нужно немедленно взглянуть на него, чтобы разрешить конфликт. Однако, как всегда, то, что это не конфликт, не означает, что вы не получите логической ошибки во время компиляции / запуска.

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

...