Выходной файл слияния, представляющий изменения - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть svn, и я иногда выбираю пару непоследовательных номеров ревизий и объединяю их в другую ветвь.

Я хотел бы вывести «объединенное» слияниевывод файла, который может быть проверен несколькими людьми, но на самом деле не выполняется слияние, и я не хочу «возвращать» его.

Мне нужна команда типа «cmd», например «svn merge rev1, rev2>mergeOutput.txt '

, а затем mergeOutput.txt должен содержать изменения унифицированным образом, например, щелкнуть правой кнопкой мыши по ревизии в tortoisesvn и -> «Показать изменения унифицированным способом».

Ключевым моментом здесь является то, что мои ревизии, которые я объединяю, не являются последовательными, поэтому 'svn patch' не будет работать, потому что 'svn patch' принимает только последовательные ревизии.

1 Ответ

0 голосов
/ 09 ноября 2019

Я чувствую, что это может работать:

$ cd TARGET_WCPATH

$ pwd
TARGET_WCPATH

$ svn merge --dry-run SOURCE1@REV1 SOURCE2@REV2 | svn diff SOURCE1@REV1 TARGET@HEAD > mergeOutput.txt

С svn help merge:

- пробный запуск: попробуйте операцию, но не вносите изменений

Указаны два исходных URL-адреса, идентифицирующих два дерева в одной и той же ветви или в разных ветвях. Деревья сравниваются, и различие от SOURCE1 @ REV1 к SOURCE2 @ REV2 применяется к рабочей копии целевой ветви в TARGET_WCPATH. Целевая ветвь может быть такой же, как один или оба источника, или снова отличаться. Три вовлеченные ветви могут быть совершенно не связаны.

TARGET_WCPATH - путь к рабочей копии;если опущено, '.'Обычно предполагается, что

SOURCE1 и / или SOURCE2 также можно указать как путь к рабочей копии, и в этом случае URL источника слияния получен из рабочей копии.

Для svn diff вы можете использовать любой из этих форматов:

  1. svn diff OLD-URL [@OLDREV] NEW-URL [@NEWREV]
  2. svn diff OLD-URL [@OLDREV]NEW-PATH [@NEWREV]
  3. svn diff OLD-PATH [@OLDREV] NEW-URL [@NEWREV]

Где SOURCE1 и TARGET в svn diff могут бытьURL или путь в соответствии с форматами выше.

...