GIT 2 или более конфликтов слияния в одном файле - как обрабатывает p4merge? - PullRequest
4 голосов
/ 01 ноября 2010
  1. GIT p4merge - 2 или более конфликта в одном и том же файле

Я интегрировал p4merge с GIT и однажды столкнулся с этой ситуацией.

У меня есть файл сконфликты слияния.Файл говорит, что foo.c имеет конфликты слияния в 3 различных строках кода (первая строка с конфликтом, некоторые строки в середине с конфликтами).

Когда я разрешил первые строки конфликта (не другие строкиконфликт) и сохранен (используя кнопку сохранения на p4merge), я думаю, что он добавляет foo.c в индекс, и когда я фиксирую, git позволяет мне фиксировать, не давая мне ошибки или предупреждения, чтобы разрешить другие конфликтующие строки в том же файле.

Это проблема с GIT или p4merge?я думаю, что GIT должен предупредить или выдать ошибку, что есть другие конфликтующие строки в этом файле.но он просто фиксирует.


  1. Объединить определенный файл в GIT

Другой вопрос, который у меня есть, есть команда, чтобы я мог отправить разработчика для слиянияопределенный файл?Когда я запускаю git mergetool, он открывает все конфликты слияния один за другим, вместо этого есть ли способ, как clearcase, где я могу сказать, слить этот выбранный файл?

1 Ответ

4 голосов
/ 01 ноября 2010
  1. Мое предположение: когда вы сохраняете файл в p4merge, он счастливо возвращается с кодом 0, файл изменяется, и git предполагает, что конфликты разрешены. Существует параметр конфигурации mergetool.<tool>.trustExitCode (mergetool.p4merge.trustExitCode в вашем случае), который может быть установлен в false, поэтому git всегда будет спрашивать вас, было ли слияние успешным после выполнения git mergetool (что может быть довольно раздражающим). Вы также можете написать оболочку для p4merge, которая будет проверять наличие маркеров конфликта после запуска p4mege или pre-commit hook, который отклоняет коммиты, содержащие файлы, содержащие такие маркеры, хотя я никогда не делал ничего подобного .

  2. Да, вы можете запустить git mergetool <file> для разрешения указанного файла. Узнать больше здесь .

...