From: Bagas Sanjaya Date: Tue, 31 Aug 2021 11:05:55 GMT Subject: Re: [PATCH 0/7] Add a new --remerge-diff capability to show & log Message-ID: <665c48f7-b597-154f-6ac7-8d0471f14869@gmail.com> In-Reply-To: On 31/08/21 09.26, Elijah Newren via GitGitGadget wrote: > Here are some patches to add a --remerge-diff capability to show & log, > which works by comparing merge commits to an automatic remerge (note that > the automatic remerge tree can contain files with conflict markers). > > Here are some example commits you can try this out on (with git show > --remerge-diff $COMMIT): > > * git.git conflicted merge: 07601b5b36 > * git.git non-conflicted change: bf04590ecd > * linux.git conflicted merge: eab3540562fb > * linux.git non-conflicted change: 223cea6a4f05 > ... > In regards to the performance point above, the timing for running the > following command: > > time git log --min-parents=2 --max-parents=2 $DIFF_FLAG | wc -l > > > in linux.git (with v5.4 checked out, since my copy of linux is very out of > date) is as follows: > > DIFF_FLAG=--cc: 71m 31.536s > DIFF_FLAG=--remerge-diff: 31m 3.170s > > > Note that there are 62476 merges in this history. Also, output size is: > > DIFF_FLAG=--cc: 2169111 lines > DIFF_FLAG=--remerge-diff: 2458020 lines > Which repo did you mean by linux.git? Kernel developers often work against Linus' mainline tree [1], while end-users (including myself) prefer stable tree (which is mainline + stable release branches and tags) [2]. [1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git [2]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git -- An old man doll... just what I always wanted! - Clara