Интерактивно сплит diff - PullRequest
       16

Интерактивно сплит diff

1 голос
/ 21 марта 2012

Как в интерактивном режиме разделить один файл diff на два или более файлов diff?

Я использую команду mercurial hg diff для генерации diff.Я хотел бы разделить большой набор изменений на несколько меньших наборов изменений с похожими изменениями кода.Это действительно может быть сделано только в интерактивном режиме.Я хотел бы получать подсказки с каждым изменением или строкой изменений и выбирать, в какой из нескольких файлов сохранить.Желательно с возможностью редактирования inline, если это необходимо.

1 Ответ

1 голос
/ 21 марта 2012

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

KDiff3 session example

Если вы начинаете с, скажем, file_100.c и file_200.c в качестве начальной / конечной точеккоторый вы хотели бы разделить на три отдельных изменения (например, вы хотели бы иметь, скажем, file_150.c и версию file_175.c между ними), затем объединить file_100.c и file_200.c и сохранить выходные данные в file_150.c.Следующим шагом является объединение file_150.c и file_200.c в file_175.c.

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

KDiff3 - замечательный инструмент, который я настоятельно рекомендую.

...