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

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

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Jul 28, 2022, 17:12 UTC
Message-ID
<220728.86k07xjh11.gmgdl@evledraar.gmail.com>
In-Reply-To
<xmqqo7x9ch7n.fsf_-_@gitster.g>
On Thu, Jul 28 2022, Junio C Hamano wrote:
Show 64 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> 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@pobox.com>
> ---
>  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?

Previous: Junio C HamanoNext: Junio C Hamano
Message 4 of 17 in “--creation-factor=100 does not show code”
  1. Eugen KonkovJul 26, 2022
  2. Johannes SchindelinJul 28, 2022
  3. Re* --creation-factor=100 does not show codeJunio C Hamano, Jul 28, 2022
  4. Ævar Arnfjörð BjarmasonJul 28, 2022
  5. Junio C HamanoJul 28, 2022
  6. Ævar Arnfjörð BjarmasonJul 28, 2022
  7. Junio C HamanoJul 28, 2022
  8. format-patch: clarify --creation-factor=<factor>Eric Sunshine, Jul 28, 2022
  9. Ævar Arnfjörð BjarmasonJul 28, 2022
  10. Junio C HamanoJul 28, 2022
  11. Eric SunshineJul 28, 2022
  12. Eric SunshineJul 30, 2022
  13. Junio C HamanoJul 31, 2022
  14. Johannes SchindelinJul 29, 2022
  15. Junio C HamanoJul 29, 2022
  16. Junio C HamanoAug 1, 2022
  17. Eugen KonkovApr 2, 2023

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.