On Sat, Nov 6, 2021 at 3:46 PM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > Reviewed what you did in the merge commit, looks good to me. And I've > learned I need to run git log --cc instead of -p in order to see all > changes to a file. Heh. If this is your first time using "--cc" (although it's the default for "git show", so you may have used it without being aware of it), it's very useful and powerful, but it's worth keeping in mind that it's also a lot more limited than the merge-time "git diff" output. At merge time, git has computed the shared state parenthood, and "git diff" knows about not only the current state, but also the state of both parents and the base state of the file (in a three-way merge kind of sense, although with recursive merges the "base state" may be much more complex than just a shared parent state). But "git log --cc" (and related "show commit" kind of things, like "git show" and friends) only sees the final result and the parent information. The full common parent and base state isn't there after-the-fact. That means that "git log --cc" doesn't have quite as much information to go by, and the "--cc" output can sometimes be a bit misleading. In particular, if there was a conflict, and the resolution ended up basically being "take one side where the conflict was", then "git log --cc" will not show the conflict resolution as a conflict at all - it will just think "ok, development was done on that branch, the other side was irrelevant". So "--cc" is very useful, and often shows that interesting sub-part of the merge where there were conflicts. But it's definitely somewhat limited, and can end up looking like there was no conflict at all even when there was something. Linus