Re: Commit/merge messages for binary files
- From
Jeff King <peff@peff.net>
- Date
- Feb 19, 2011, 07:06 UTC
- Message-ID
- <20110219070601.GA14059@sigill.intra.peff.net>
- In-Reply-To
- <4D5EE7D2.5060703@gmail.com>
On Fri, Feb 18, 2011 at 10:42:42PM +0100, Piotr Krukowiecki wrote:
Show 10 quoted lines
> Maybe I wasn't clear. Both the commit and the merge was for the same binary > file. > > In case of commit there were non-zero insertions/deletions. > See example below - notice both update binary file blob.o: > > $ git commit -m Updated > [topic 5da30ce] Updated > 1 files changed, 8 insertions(+), 103 deletions(-) > rewrite blob.o (100%)
Yeah, that seems weird. I think it might have to do with break detection in the diff, which is on during the commit summary diff:
$ git init $ dd if=/dev/urandom of=foo.rand bs=1k count=4 $ git add foo.rand $ git commit -m one [master (root-commit) 8c5783a] one 1 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 foo.rand $ git show --oneline --stat --summary 8c5783a one foo.rand | Bin 0 -> 4096 bytes 1 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 foo.rand
So far so good. Now let's rewrite it.
$ dd if=/dev/urandom of=foo.rand bs=1k count=4 $ git commit -a -m two [master 43961bc] two 1 files changed, 15 insertions(+), 19 deletions(-) rewrite foo.rand (100%)
Now that seems wrong. What about doing another diff:
$ git show --oneline --stat --summary 43961bc two foo.rand | Bin 4096 -> 4096 bytes 1 files changed, 0 insertions(+), 0 deletions(-)
That's right. Now let's turn on break detection:
$ git show --oneline --stat --summary -B 43961bc two foo.rand | 34 +++++++++++++++------------------- 1 files changed, 15 insertions(+), 19 deletions(-) rewrite foo.rand (100%)
Broken again. So I guess we have some problem with making sure we treat broken filepairs as binary.
-Peff