Re: [PATCH] Detect renames in diff family.

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [PATCH] Detect renames in diff family.

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:41:57

quoted
quoted
quoted
quoted
"NP" == Nicolas Pitre [off-list ref] writes:
NP> Are we talking about git plumbing or porcelain here?

We are talking about the Plumbing.  Thank you for reminding me,
but sometimes people end up using the bare Plumbing.

As I stated before, I do not do Porcelain [*1*]; my main
interest lies in helping Linus and Linux Kernel development
process, by helping him in the Plumbing area and making the use
of bare Plumbing layer a confortable enough experience.

My ultimate goal is to make the Plumbing useful enough to make
what Porcelain layers do more or less irrelevant ;-).

[Footnote]

*1* Yes I do have my own Porcelain layer, and personally I feel
some of the things it does and some of the approaches it takes
are quite good, but I do not advocate it more than necessary on
this list.

Re: [PATCH] Detect renames in diff family.

From: Linus Torvalds <torvalds@osdl.org>
Date: 2016-06-15 22:41:57


On Thu, 19 May 2005, Junio C Hamano wrote:
We are talking about the Plumbing.  Thank you for reminding me,
but sometimes people end up using the bare Plumbing.
There's a pretty simple and nice way to make it both useful and easy to do 
to arbitrary precision.

Think of the number following the -M as the mantissa.

So -M9 means 0.9 aka "90% match" (or "difference", depending on which way
you want to go), and in general -Mx would have the "10% increments" thing.

But since it's a fraction, you just give more precision by adding more 
numbers, and -M99 would be "99% match", while "-M02" would be "2% match"

Then it would be logical for a plain -M to be 100% match / 0% difference
(ie only show renames that are exact), since a "0% match" / 100%
difference is nonsensical.

Alternatively, we'd have -M (without any number) just default to 
something, and you'd give a separate number of how closely you want to 
mach things, ie

	# These all mean the same thing: (default) 20% difference
	git-diff-tree -M
	git-diff-tree -M --match=80
	git-diff-tree -M --differ=20

	# show only renames that are perfect matches.
	git-diff-tree -M --match=100

	# show _everything_ as a rename, except the
	# matching matrix means that we prefer better
	# matches over worse
	git-diff-tree -M --match=0

Hmm?

		Linus
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help