Re: Re* --creation-factor=100 does not show code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jul 28 2022, Junio C Hamano wrote:

> Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes:
>
>> Hi Eugen,
>>
>> On Tue, 26 Jul 2022, Eugen Konkov wrote:
>>
>>> $ git range-diff --creation-factor=100 branch...origin/branch
>>> 1:  a87daecd47 < -:  ---------- Add mocked exchanges for ...::AutoRenew::General test
>>> -:  ---------- > 1:  36eaeb56a9 Add mocked exchanges for ...::AutoRenew::General test
>>> 2:  9594ccf145 = 2:  70681dd13b Remove a call to DB::state
>>> 3:  740903e01c = 3:  5745ae5702 Run cpanm without tests
>>> 4:  e8e6cac09c < -:  ---------- Do not use 'require'
>>>
>>> --creation-factor=101 does =)
>>>
>>> but maximum value for percentage is 100. So expected behaviour is to display range-diff when value 100 was provided
>>
>> Please see https://git-scm.com/docs/git-range-diff#_algorithm for an
>> explanation what the meaning of the factor is, and why 100 is not the
>> maximal sensible value.
>
> When I had to give a huge value to the option the last time, I think
> I used --creation-factor=999 or something.  The thing that bugged me
> in the output of "git range-diff --help" is that SYNOPSIS section
> has "--creation-factor=<factor>" but the OPTIONS heading says
> "--creation-factor=<percent>" and the word is used in description as
> well.
>
> ----- >8 --------- >8 --------- >8 --------- >8 --------- >8 -----
> Subject: range-diff: clarify --creation-factor=<factor>
>
> The value is not a per-cent that ranges from 0 to 100.  The SYNOPSIS
> section gets it right, but the body of the documentation said "percent"
> which confused readers.
>
> While we are at it, rephrase "smaller one" that corresponds to
> "larger value" earlier in the sentence to "smaller value" to be more
> explicit, to avoid misleading eyes of the readers to an unrelated "a
> large change" nearby.
>
> Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx>
> ---
>  Documentation/git-range-diff.txt | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git c/Documentation/git-range-diff.txt w/Documentation/git-range-diff.txt
> index fe350d7f40..e49630e8ad 100644
> --- c/Documentation/git-range-diff.txt
> +++ w/Documentation/git-range-diff.txt
> @@ -61,11 +61,11 @@ This is known to `range-diff` as "dual coloring". Use `--no-dual-color`
>  to revert to color all lines according to the outer diff markers
>  (and completely ignore the inner diff when it comes to color).
>  
> ---creation-factor=<percent>::
> -	Set the creation/deletion cost fudge factor to `<percent>`.
> +--creation-factor=<factor>::
> +	Set the creation/deletion cost fudge factor to `<factor>`.
>  	Defaults to 60. Try a larger value if `git range-diff` erroneously
>  	considers a large change a total rewrite (deletion of one commit
> -	and addition of another), and a smaller one in the reverse case.
> +	and addition of another), and a smaller value in the reverse case.
>  	See the ``Algorithm`` section below for an explanation why this is
>  	needed.
>  

That algorithm section also says:

	The cost of an edge o--C is the size of C's diff, modified by a
	fudge factor that should be smaller than 100%.

Which I find quite confusing to follow, isn't that "fudge factor" the
<percent> (or <factor>) we're accepting with --creation-factor? Doesn't
that also need to be adjusted?

I still find this documentation quicke lacking, if the default is 60 and
it's not 0..100 what is it then? Are values of 200 sensible in some
cases, 1k? 10k?



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux