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

Re: Spurious line insertion/deletion stats for binary file

From
NKNeal Kreitzinger <neal@rsss.com>
Date
Oct 15, 2010, 19:26 UTC
Message-ID
<i9a9va$ror$1@dough.gmane.org>
In-Reply-To
<8CFCE61F-591A-4B56-B701-D1A391FBB088@sb.org>

"Kevin Ballard" <kevin@sb.org> wrote in message news:8CFCE61F-591A-4B56-B701-D1A391FBB088@sb.org...

Show 24 quoted lines
>I just noticed something fairly odd when making a commit that changed a 
>single binary file:
>
> kevin> (develop +=)> git ci -m 'Replace binary file'
> [develop c0c3b98] Replace binary file
> 1 files changed, 8 insertions(+), 14 deletions(-)
> rewrite Resources/some_image.png (99%)
>
> The commit results seem to be treating the binary file as text in order to 
> give me insertion/deletion stats. This is quite obviously wrong. For this 
> situation, a fairly simple solution would be to change that line to 
> something like
>
> 1 files changed, 2652 bytes removed
>
> but the correct behavior is a bit less obvious when there are multiple 
> files changed. Does anyone have a good suggestion for how to handle this 
> case?
>
> -Kevin Ballard--
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

We track all our binaries so each commit is a working state of our system. Git just seems to know they are binaries and reports them as such in the diff pane of gitk: "Binary files a/path/binaryA and b/path/binaryA differ". We are currently using 1.7.1. I guess it "knows" they are binaries because we don't their paths in the "gitattributes" file.

Based on the gitattributes manpage, it sounds like you have "diff" set for the path to your binary listed in your .git/info/attributes (git attributes) file. If the binary is in the same path as the source you could set the "binary" attribute macro for your binary(s) if the path or name is distinguishable from the source. I played around with this in the past, but currently don't have a need for it in my current configuration, so I'm getting all of this from the gitattributes manpage, http://www.kernel.org/pub/software/scm/git/docs/v1.7.1.2/gitattributes.html.

v/r, Neal

Previous: Kevin Ballard
Message 2 of 2 in “Spurious line insertion/deletion stats for binary file”
  1. Kevin BallardOct 12, 2010
  2. Neal KreitzingerOct 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.