threads / discuss / 64910

git format-patch --no-renames

Subject: git format-patch --no-renames

## tl;dr

2 messages between Feb 3, 2026 and Feb 4, 2026.

replies: 1people: 2as markdown or json

Chris Packham· Feb 3, 2026, 19:58 UTC · lore
Hi Git,

The man page section for the --no-renames options says "Turn off rename detection, even when the configuration file gives the default to do so."

But I can't actually see what option that might be.Does git format-patch use the same config as git -diff?

Selfishly I'd like `git diff` to show renames but `git format-patch` to output things that can be applied by `patch` (specifically a version that doesn't understand renames).

Jeff King· Feb 4, 2026, 02:09 UTC · re: Chris Packham · lore

Re: git format-patch --no-renames

On Wed, Feb 04, 2026 at 08:58:29AM +1300, Chris Packham wrote:
Show 6 quoted lines
> The man page section for the --no-renames options says "Turn off
> rename detection, even when the configuration file gives the default
> to do so."
> 
> But I can't actually see what option that might be.Does git
> format-patch use the same config as git -diff?

Yes, it's just diff.renames, which controls rename detection for most commands, including git-diff and git-log. The notable exception is for plumbing commands like diff-files.

> Selfishly I'd like `git diff` to show renames but `git format-patch`
> to output things that can be applied by `patch` (specifically a
> version that doesn't understand renames).

There's no way to do that right now via config. You'll have to use "--no-renames" or "-c diff.renames=false", either manually or using a command alias.

If you want to change that, the usual approach is to have a command-specific option that defaults to the more generic one. So add format.renames, and if it's not set, fall back to diff.renames as we do now. There's some prior art in the merge.renames and status.renames options.

-Peff

← back to recent threads