Thanks for the explanation. I still wonder why break-detection is by default enabled for commit but disabled for log. Is there any rationale for this? On Thu, Apr 9, 2020 at 7:00 AM Jeff King <peff@xxxxxxxx> wrote: > > On Wed, Apr 08, 2020 at 07:04:02PM -0700, Norbert Kiesel wrote: > > > % git commit -m 'major code cleanup for SCIMPatchOperationUtil' > > [nkiesel/nextrelease/SCIM_2 d4db6f6d83f] major code cleanup for > > SCIMPatchOperationUtil > > 1 file changed, 2106 insertions(+), 3367 deletions(-) > > rewrite utils/SCIMPatchOperationUtil.java (74%) > > The commit summary diff is done with the break-detection option on. You > can tell it kicked in here because of the "rewrite" line. What that > means is that the changes to the file were so extensive that Git decided > the file had been totally rewritten, and broke it into a separate > add/delete. That has two implications: > > - we'd consider it a candidate for rename detection; that didn't > happen here because there were no other files added or deleted to > serve as source/dest candidates > > - the diff will be reported as a complete removal of the old content > and the addition of the new, _even for lines that were the same_ > > > % git log --stat -1 > > commit d4db6f6d83f (HEAD -> nkiesel/nextrelease/SCIM_2) > > Author: Norbert Kiesel <nkiesel@xxxxxxxxxxxxxxxx> > > Date: Wed Apr 8 18:49:27 2020 -0700 > > > > major code cleanup for SCIMPatchOperationUtil > > > > utils/SCIMPatchOperationUtil.java | 3807 > > +++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------- > > 1 file changed, 1273 insertions(+), 2534 deletions(-) > > But in git-log break-detection isn't on by default. Try adding "-B" and > you will get the other numbers. > > Try also adding "-p" to see the whole-diff in action. > > -Peff