On Wed, 15 May 2019 at 22:12, Noam Postavsky wrote: > Meanwhile, general git question for the list: Is there a way to ask > git, given a merge commit, where conflicts occurred/were resolved? > Even just tracking down the two relevant conflicting commits here was > a bit annoying, never mind narrowing down to the relevant hunks. > I'm no git guru, but here's what occurred to me: repeat the merge, then use git blame on the conflicted file. git checkout 5fe9375a51^1 git merge 5fe9375a51^2 | grep CONFLICT CONFLICT (content): Merge conflict in lisp/textmodes/sgml-mode.el CONFLICT (content): Merge conflict in lisp/files.el git blame -n lisp/textmodes/sgml-mode.el | sed -n '/<<>>/p' [Here I've manually removed the timestamps and truncated at column 70] 00000000000 342 (Not Committed Yet 342) <<<<<<< HEAD e99a1241108 346 (Stefan Monnier 343) ;; Double quotes outs e99a1241108 347 (Stefan Monnier 344) ;; hiding tags. We u e99a1241108 348 (Stefan Monnier 345) ;; if it's outside of e99a1241108 349 (Stefan Monnier 346) ;; the resulting numb e99a1241108 350 (Stefan Monnier 347) ;; (bug#33887), so we e99a1241108 351 (Stefan Monnier 348) ;; of quotes that doe e99a1241108 352 (Stefan Monnier 349) ("\\(\"\\)[^\"<>]*[<> e99a1241108 353 (Stefan Monnier 350) (1 (unless (eq ?\" ( e99a1241108 354 (Stefan Monnier 351) ;; Be careful t e99a1241108 355 (Stefan Monnier 352) ;; we're going e99a1241108 356 (Stefan Monnier 353) ;; just compute e99a1241108 357 (Stefan Monnier 354) (if (prog1 (zer e99a1241108 358 (Stefan Monnier 355) (goto-cha e99a1241108 359 (Stefan Monnier 356) (string-to- e99a1241108 360 (Stefan Monnier 357) ))) 00000000000 358 (Not Committed Yet 358) ======= 7dab3ee7ab5 350 (Noam Postavsky 359) ;; Quotes outside of d392b6e8246 355 (Tom Tromey 360) ;; Be careful to call d392b6e8246 356 (Tom Tromey 361) ;; going to change, s 7dab3ee7ab5 353 (Noam Postavsky 362) ("[\"']" (0 (if (prog 7dab3ee7ab5 354 (Noam Postavsky 363) (go 7dab3ee7ab5 355 (Noam Postavsky 364) (stri 00000000000 365 (Not Committed Yet 365) >>>>>>> 5fe9375a51^2