git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git-diff/git-diff-files: Turn off copy-detection?
@ 2009-09-29 12:50 Marius Storm-Olsen
  2009-09-29 13:40 ` Johannes Sixt
  2009-09-29 13:42 ` Miklos Vajna
  0 siblings, 2 replies; 5+ messages in thread
From: Marius Storm-Olsen @ 2009-09-29 12:50 UTC (permalink / raw)
  To: Git Mailing List

Hi,

I'm trying to diff the header files between two version of a repo, to 
do an ABI review, but get too many diffs from 'similar copy', which 
makes the review hard. These are generally unrelated files, but due to 
large copyright header, and spaces, the actual changes are not large 
enough to be detected as new files. I'd therefore like to turn off 
copy detection completely, or at least set some kind of threshold 
before a file is considered a copy in the diff.

Doing a 'git diff origin/4.5..origin/4.6 -- src/corelib' gives me this 
excerpt:

diff --git origin/4.5/src/corelib/tools/qtimeline.h 
origin/4.6/src/corelib/animation/qabstractanimation.h
similarity index 58%
...
diff --git origin/4.5/src/corelib/kernel/qsystemsemaphore.h 
origin/4.6/src/corelib/animation/qanimationgroup.h
similarity index 63%
...
diff --git origin/4.5/src/corelib/kernel/qsystemsemaphore.h 
origin/4.6/src/corelib/animation/qparallelanimationgroup.h
similarity index 63%
...
diff --git origin/4.5/src/corelib/io/qresource_iterator_p.h 
origin/4.6/src/corelib/animation/qpauseanimation.h
similarity index 68%
...
diff --git origin/4.5/src/corelib/kernel/qsystemsemaphore.h 
origin/4.6/src/corelib/animation/qpropertyanimation.h
similarity index 60%
...
diff --git origin/4.5/src/corelib/kernel/qsystemsemaphore.h 
origin/4.6/src/corelib/animation/qsequentialanimationgroup.h
similarity index 55%
...
diff --git origin/4.5/src/corelib/animation/qvariantanimation.h 
origin/4.6/src/corelib/animation/qvariantanimation.h
new file mode 100644
...
diff --git origin/4.5/src/corelib/arch/qatomic_arch.h 
origin/4.6/src/corelib/arch/qatomic_arch.h
index 52ab101..548a5e9 100644

So, not even related. They should really had shown up as new files, 
IMO. (I guess git stores the creation of the file as a delta of the 
indicated 'copy', but in this case I don't care about that :)

Thanks!

--
.marius

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: git-diff/git-diff-files: Turn off copy-detection?
  2009-09-29 12:50 git-diff/git-diff-files: Turn off copy-detection? Marius Storm-Olsen
@ 2009-09-29 13:40 ` Johannes Sixt
  2009-09-29 14:24   ` Marius Storm-Olsen
  2009-09-29 13:42 ` Miklos Vajna
  1 sibling, 1 reply; 5+ messages in thread
From: Johannes Sixt @ 2009-09-29 13:40 UTC (permalink / raw)
  To: Marius Storm-Olsen; +Cc: Git Mailing List

Marius Storm-Olsen schrieb:
> I'm trying to diff the header files between two version of a repo, to do
> an ABI review, but get too many diffs from 'similar copy', which makes
> the review hard. These are generally unrelated files, but due to large
> copyright header, and spaces, the actual changes are not large enough to
> be detected as new files. I'd therefore like to turn off copy detection
> completely, or at least set some kind of threshold before a file is
> considered a copy in the diff.
> 
> Doing a 'git diff origin/4.5..origin/4.6 -- src/corelib' gives me this
> excerpt:
> 
> diff --git origin/4.5/src/corelib/tools/qtimeline.h
> origin/4.6/src/corelib/animation/qabstractanimation.h
> similarity index 58%
> ...

You must have the config variable diff.renames set. But I would not expect
that this setting applies to 'git diff-files', only to 'git diff'.

You can also try 'git diff -C99 -M99' if you don't want to unset the
config variable.

-- Hannes

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: git-diff/git-diff-files: Turn off copy-detection?
  2009-09-29 12:50 git-diff/git-diff-files: Turn off copy-detection? Marius Storm-Olsen
  2009-09-29 13:40 ` Johannes Sixt
@ 2009-09-29 13:42 ` Miklos Vajna
  1 sibling, 0 replies; 5+ messages in thread
From: Miklos Vajna @ 2009-09-29 13:42 UTC (permalink / raw)
  To: Marius Storm-Olsen; +Cc: Git Mailing List

[-- Attachment #1: Type: text/plain, Size: 563 bytes --]

On Tue, Sep 29, 2009 at 02:50:14PM +0200, Marius Storm-Olsen <mstormo@gmail.com> wrote:
> So, not even related. They should really had shown up as new files, 
> IMO. (I guess git stores the creation of the file as a delta of the 
> indicated 'copy', but in this case I don't care about that :)

No, it does not (as long as we are not talking about packfiles). AFAIK
copy detection is disabled by default, so probably you have a setting
that enables it for you and you forgot about it. Are you sure you don't
have any settings like diff.renames = copies?

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: git-diff/git-diff-files: Turn off copy-detection?
  2009-09-29 13:40 ` Johannes Sixt
@ 2009-09-29 14:24   ` Marius Storm-Olsen
  2009-09-29 15:05     ` Miklos Vajna
  0 siblings, 1 reply; 5+ messages in thread
From: Marius Storm-Olsen @ 2009-09-29 14:24 UTC (permalink / raw)
  To: Johannes Sixt; +Cc: Git Mailing List

Johannes Sixt said the following on 29.09.2009 15:40:
> Marius Storm-Olsen schrieb:
>> Doing a 'git diff origin/4.5..origin/4.6 -- src/corelib' gives me this
>> excerpt:
>>
>> diff --git origin/4.5/src/corelib/tools/qtimeline.h
>> origin/4.6/src/corelib/animation/qabstractanimation.h
>> similarity index 58%
>> ...
> 
> You must have the config variable diff.renames set. But I would not expect
> that this setting applies to 'git diff-files', only to 'git diff'.

$ git config diff.renames
copies

That's it, thanks! Strange that nothing in the git-diff documentation 
pointed me in this direction? Obviously I didn't connect the dots 
between 'copy' and 'renames' either..


> You can also try 'git diff -C99 -M99' if you don't want to unset the
> config variable.

Thanks, I'll add that to my review script. Much appreciated!

--
.marius

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: git-diff/git-diff-files: Turn off copy-detection?
  2009-09-29 14:24   ` Marius Storm-Olsen
@ 2009-09-29 15:05     ` Miklos Vajna
  0 siblings, 0 replies; 5+ messages in thread
From: Miklos Vajna @ 2009-09-29 15:05 UTC (permalink / raw)
  To: Marius Storm-Olsen; +Cc: Johannes Sixt, Git Mailing List

[-- Attachment #1: Type: text/plain, Size: 348 bytes --]

On Tue, Sep 29, 2009 at 04:24:59PM +0200, Marius Storm-Olsen <marius@storm-olsen.com> wrote:
> $ git config diff.renames
> copies
> 
> That's it, thanks! Strange that nothing in the git-diff documentation 
> pointed me in this direction? Obviously I didn't connect the dots 
> between 'copy' and 'renames' either..

See man git-config. :)

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-09-29 15:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-29 12:50 git-diff/git-diff-files: Turn off copy-detection? Marius Storm-Olsen
2009-09-29 13:40 ` Johannes Sixt
2009-09-29 14:24   ` Marius Storm-Olsen
2009-09-29 15:05     ` Miklos Vajna
2009-09-29 13:42 ` Miklos Vajna

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).