Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can gitk show the diff of merges by default?

Tags:

git

merge

diff

gitk

Currently for merges without conflicts gitk shows no diffs. Is it possible to have the diffs resulting from a merge (which are indeed there, e.g. git diff HEAD~1 after the merge shows these diffs) shown by defautl, e.g. using a command line switch? Or why does gitk by default not show them?

like image 445
Tobias Kienzler Avatar asked Jul 07 '10 07:07

Tobias Kienzler


People also ask

Does git merge order matter?

However, Git always uses a single algorithm for computing both L and R, so the order does not matter here. To put this another way, if you manage to produce a Doppelgänger file—one that has different content from, but the same hash as, some existing file, Git simply refuses to put that file into the repository.

What is default git merge?

Recursive is the default merge strategy when pulling or merging one branch. Additionally this can detect and handle merges involving renames, but currently cannot make use of detected copies. This is the default merge strategy when pulling or merging one branch.

Does merging affect both branches?

No, merging does only affect one branch.


1 Answers

By default gitk does the same thing as the --cc option to git diff and compresses the merge to only show diff chunks that don't come directly from one or other parent. This is usually more helpful as conflicts are the interesting part of merges, the other parts of the diff will already appear in the diffs for the commits that made up the branch which was merged in.

The easiest way to view the full diff between a parent of a merge and the merge commit is to select the parent (normal click) and from the context menu on the merge commit (right/alternate click menu) select "Diff selected -> this".

like image 97
CB Bailey Avatar answered Sep 19 '22 02:09

CB Bailey