threads / discuss / 60372

git log --patch for a particular file

Subject: git log --patch for a particular file

## tl;dr

2 messages between Oct 16, 2023 and Oct 16, 2023.

replies: 1people: 2as markdown or json

Victor Porton· Oct 16, 2023, 10:20 UTC · lore
I want this:
git log --patch -- server/src/api/docs.py
to print changes only for the file server/src/api/docs.py.

Currently, it in some reasons outputs nothing (this seems not to be an intended behavior and could be counted as a bug).

More generally, git log --patch -- A B C could log changes in files A, B, C (only).

It is questionable, whether to output commit information (commit hash, user email, etc.) for commits that don't change specified file(s). I would vote to indeed output this information, not to confuse the user about the order of commits.

Kristoffer Haugsbakk· Oct 16, 2023, 10:29 UTC · re: Victor Porton · lore

Re: git log --patch for a particular file

Hi
On Mon, Oct 16, 2023, at 12:20, Victor Porton wrote:
Show 5 quoted lines
> I want this:
>
> git log --patch -- server/src/api/docs.py
>
> to print changes only for the file server/src/api/docs.py.
That's how it works for me.
> Currently, it in some reasons outputs nothing (this seems not to be an
> intended behavior and could be counted as a bug).
Does it output nothing on *merge* commits? That's intended.
Try using `-m` as well.
https://stackoverflow.com/a/37801468/1725151
> It is questionable, whether to output commit information (commit hash,
> user email, etc.) for commits that don't change specified file(s). I
> would vote to indeed output this information, not to confuse the user
> about the order of commits.
You can customize the output with `--format=`.
> More generally,
> git log --patch -- A B C
> could log changes in files A, B, C (only).

If I name two files I only get commits that touch any of those files. And diffs only for them.

-- 
Kristoffer Haugsbakk

← back to recent threads