Hello, I configured "diff.extern" but use aliases for "diff --no-ext-diff". This combination suppresses --color-moved (as well as the corresponding config "diff.colorMoved"). What did you do before the bug happened? (Steps to reproduce your issue) 1. Prepare ~/.gitconfig: [diff] #external = echo 2. In some repository, create a moved-lines diff between index and working directory. For example, commit this file (the next 9 lines verbatim): line 1 first one line 2 second two line 3 third three line 4 fourth four line 5 fifth five line 6 sixth six line 7 seventh seven line 8 eighth eight line 9 ninth nine Then, edit it (moving lines exactly) to: line 4 fourth four line 5 fifth five line 6 sixth six line 7 seventh seven line 8 eighth eight line 9 ninth nine line 1 first one line 2 second two line 3 third three In this state, the command 'git diff --color-moved' should highlight changes as line moves with default colors purple/cyan. 3. In ~/.gitconfig, uncomment 'external'. 4. In the same repository, trigger the bug by running: git diff --no-ext-diff --color-moved What did you expect to happen? (Expected behavior) The diff should be recognized as moving lines and colorized accordingly. By default in purple/cyan. The diff should NOT be colorized red/green. What happened instead? (Actual behavior) The diff is colorized in red/green. What's different between what you expected and what actually happened? The colorization is expected to indicate moved lines. The actual colorization indicates deletion/insertion, as if '--color-moved' is ignored. Anything else you want to add: - I assume this bug is up to date with the 'next' branch, because the command git log v2.45.2..origin/next | grep "no-ext" finds no match in the repository from github. - Works the same in the older v2.25.1 - Works the same with 'diff.colorMoved' instead of --color-moved - Works the same for other values of 'diff.external' - Works the same when setting custom colors for 'color.diff.oldMoved' etc. - Works not the same when using --no-ext-diff alone. Only when using diff.external as well. [System Info] git version: git version 2.45.2 cpu: x86_64 no commit associated with this build sizeof-long: 8 sizeof-size_t: 8 shell-path: /bin/sh uname: Linux 5.15.0-107-generic #117~20.04.1-Ubuntu SMP Tue Apr 30 00:00:00 2024 x86_64 compiler info: gnuc: 9.4 libc info: glibc: 2.31 $SHELL (typically, interactive shell): /bin/bash [Enabled Hooks] (none)