git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Exlude files from git log -p

From
Jeff King <peff@peff.net>
Date
Oct 15, 2010, 00:54 UTC
Message-ID
<20101015005457.GA13334@sigill.intra.peff.net>
In-Reply-To
<loom.20101014T214508-466@post.gmane.org>
On Thu, Oct 14, 2010 at 08:06:26PM +0000, Maaartin wrote:
> Is it possible to exclude a couple of files from the output generated by "git 
> log -p"? Enumerating all other files/dirs is not an option for me.

Not directly. Excluding files from diffs is something that is sometimes requested, but nobody has implemented it yet.

But...
Show 7 quoted lines
> Background: Some files in my repo are generated source code and often contain 
> quite a lot of changes. Their generation can't be done in a fully automatic 
> fashion and it happens that it gets forgotten; that's why I need to version them 
> as well.
> 
> I'm thinking about marking them as binary, this should remove their lines from 
> the output, but it would make their comparison impossible (at least AFAIK).

For a situation like this, where you almost always want them ignored, you can mark them with a special diff driver in .gitattributes. And then you can either use a null textconv for that driver (which will give you a diff header when they change, but the contents of the diff will always be empty), or you can write a custom external diff (in which case you can remove them from the output entirely).

When you wanted to see them, you could just tweak the config (which makes it really not that much different than marking them as binary), or if you wanted to get fancy, your custom external diff could look at some environment variable, allowing you to do:

  git log -p ;# custom diff ignores certain files
  DIFF_INVISIBLE=1 git log -p ;# show all
or something like that.
-Peff
Previous: Maaartin
Message 2 of 2 in “Exlude files from git log -p”
  1. MaaartinOct 14, 2010
  2. Jeff KingOct 15, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.