Рассмотрим маркеры конфликта. то есть:
<<<<<<< branch
blah blah this
=======
blah blah that
>>>>>>> HEAD
В конкретном случае, который побудил меня опубликовать этот вопрос, ответственный член команды только что завершил слияние из основной ветки разработки в нашу ветку и в некоторых случаях оставил их в виде комментариев как своего рода документацию к тому, что только что было решена. Он оставил его в скомпилированном состоянии, тесты пройдены, так что все не так плохо, как вы думаете.
Инстинктивно, хотя, я действительно возражал против этого, однако, будучи дьяволом, защищающим себя, я понимаю, почему он мог это сделать:
- потому что это подчеркивает другим разработчикам команды, что изменилось в результате слияния.
- потому что те, кто более опытен с определенными частями кода, могут решить проблемы, проиллюстрированные в комментариях, чтобы он не догадывался.
- потому что объединение в восходящем направлении - это правильная боль, и может быть трудно оправдать время, чтобы решить все правильно и полностью, поэтому необходимо некоторое неполное уведомление FIXME, так почему бы не использовать исходный конфликт в качестве комментария для документирования этого.
Мое возражение было инстинктивным, но я хотел бы иметь возможность обосновать его рационально или увидеть свою позицию более разумно. Может ли кто-нибудь привести мне примеры или даже опыт, когда люди плохо проводили время с кем-то, делающим это, и / или объясняли, почему это плохая практика (или вы можете сыграть адвоката дьявола и поддержать его).
Моя непосредственная обеспокоенность заключалась в том, что было бы неприятно, если бы я редактировал один из соответствующих файлов, вытащил изменения, получил реальные конфликты, но также добавил комментарии. Тогда у меня действительно был бы очень грязный файл. К счастью, этого не произошло.
// MatrixFrog 10/25/2011: Updated this function to fix bug #1234
. Если я вижу подобные вещи, я думаю: «Что? Вот для чего git blame
!»