From: Derrick Stolee Date: Wed, 14 Mar 2018 17:02:21 GMT Subject: Re: How to debug a "git merge"? Message-ID: In-Reply-To: <7895279B-9FB6-471B-A8BA-53315B265A51@gmail.com> On 3/14/2018 12:56 PM, Lars Schneider wrote: > Hi, > > I am investigating a Git merge (a86dd40fe) in which an older version of > a file won over the newer version. I try to understand why this is the > case. I can reproduce the merge with the following commands: > $ git checkout -b test a02fa3303 > $ GIT_MERGE_VERBOSITY=5 git merge --verbose c1b82995c > > The merge actually generates a merge conflict but not for my > problematic file. The common ancestor of the two parents (merge base) > is b91161554. > > The merge graph is not pretty (the committers don't have a clean > branching scheme) but I cannot spot a problem between the merge commit > and the common ancestor: > $ git log --graph --oneline a86dd40fe Have you tried `git log --graph --oneline --simplify-merges -- path` to see what changes and merges involved the file? I find that view to be very helpful (while the default history simplification can hide things). In particular, if there was a change that was reverted in one side and not another, we could find out. You could also use the "A...B" to check your two commits for merging, and maybe add "--boundary". > > Can you give me a hint how to debug this merge further? How can I > understand why Git picked a certain version of a file in a merge? > > I am using Git 2.16.2 on Linux. > > Thanks, > Lars