Слияние набора файлов из одной ветви в другую в Subversion
Я хочу сделать что-то, что я считаю простым. Я искал и экспериментировал часами, и не могу найти ответ.
Я использую Subversion 1.7 для проекта, в основном через Subclipse, но также и TortoiseSVN, опускаясь до командной строки svn при необходимости.
Как рекомендуется, каждый раз, когда я делаю производственный выпуск, я создаю тег. Чтобы сделать патч prod, я создаю новую ветку релиза из тега prod, делаю работу, затем выпускаю ветку, которая создает новый тег (из ветки).
Разные проблемы требуют разных стратегий патча. То, что меня смущает, это то, где изменения вносятся в ствол, ограничиваются набором файлов, и эти файлы могут быть "скопированы" непосредственно в среду prod. Если я правильно понимаю, это слияние со ствола на ветку релиза.
Я должен был сделать это на днях. Соответствующие файлы были разбросаны по структуре каталогов (в основном изменения в html, css и js файлах). Я хотел "выбрать несколько" (или пометить или что-то еще) соответствующие файлы и выполнить одну команду слияния.
Я не могу понять, как это сделать.
В руководстве по svn обсуждается вишневое пикирование, и это в основном то, что я пытаюсь сделать, но они говорят о вишневых пиках диапазонов ревизий и / или наборов изменений, а не в заголовках набора файлов, которые ортогональны наборам изменений, AFAICT.
Changelists тоже выглядели многообещающе, но списки изменений не являются допустимым вариантом команды слияния. Он также не реализован в Subclipse или TortoiseSVN, что идеально подходит для визуальной идентификации набора файлов.
Экран слияния Subclipse показывает опцию "слияния на основе набора изменений", которая возродила мои надежды, но затем отправляет вас на экран, пытаясь продать вам CollabNet TeamForge и CollabNet Desktop, которые представляются коммерческими продуктами.
Я закончил слияние каждого файла по отдельности, что (IMO) является болезненным и подверженным ошибкам и делает возврат проблематичным.
Кроме того, когда что-то подобное происходит, это часто подсказывает, что в SVN есть что-то фундаментальное, что я неправильно понимаю.
Может кто-нибудь объяснить, как объединить произвольный набор файлов, или объяснить, почему это не поддерживается?