У меня есть фиксация в моих ветках. Я хочу объединить ветки в багажник, но есть кое-что, что я не сливаюсь с багажником на своих ветвях. Как мне сделать?
Subversion: как слить конкретную фиксацию
Ответ 1
То, что вы хотите выполнить, обычно называется cherrypicking в системах контроля версий.
Предположим, что вы хотите объединить ревизии 345, 364 и 377, вы сделаете следующее в каталоге верхнего уровня чистой рабочей копии вашего ветки:
svn merge -c345,364,377 ^/trunk
Дополнительную информацию вы можете найти в соответствующем разделе в книге SVN.
Ответ 2
Просто чтобы продлить ответ Янику.
Когда вы можете объединить один или несколько конкретных коммитов из одной в другую ветку, вам нужно (например, необходимо, чтобы слияние совершало r13 и r666 от ветки "от" до ветки "до" ):
-
Проверить наличие доступности (только для гарантии):
svn diff -c 13,666 https://fullpathtoyourproject/branches/_from_
-
Swith on branch to:
svn sw https://fullpathtoyourproject/branches/_to_
-
Объединить фиксации
svn merge -c 13,666 https://fullpathtoyourproject/branches/_from_
Если вам нужно получить "fullpathtoyourproject", просто введите:
svn info
В URL-адресе раздела вы увидите этот путь.
Я предпочитаю использовать FULL url/path, потому что личный относительный путь не работал у меня в некоторых проектах.
Ответ 3
Вы можете объединить требуемые коммиты с номером ревизии.