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

Re: [PATCH] git-repack doc: remove discussion of ancient caveat

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Jul 18, 2022, 07:35 UTC
Message-ID
<220718.86tu7eyhvz.gmgdl@evledraar.gmail.com>
In-Reply-To
<xmqq1qujt334.fsf@gitster.g>
On Sun, Jul 17 2022, Junio C Hamano wrote:
Show 57 quoted lines
> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
>
>>> That's all academic.  I wouldn't have written the above if the
>>> proposed log message stopped here.  But with the rest of proposed
>>> log message that hints that the above statement is backed by a solid
>>> study of history, it is wrong to write a wrong version number there.
>>>
>>> I agree that it is safe to say that anything before Git 2.0.0 is
>>> irrelevant at this point (I would actually say before Git 2.16.0,
>>> i.e. anything older than 3-4 years).
>>
>> 1.4.4 is the version that introduced the flag, but the paragraphs I'm
>> removing is relevant to 1.6.0, as it discusses concerns with that
>> new-in-1.4.4 --delta-base-offset flag being turned on by default.
>>
>> So this documentation matches e.g. the RelNotes update you made in
>> e903b4095a0 (Update draft release notes for 1.6.0, 2008-07-01).
>>
>> I.e. 1.4.4 was released in late 2006, 1.6.0 in mid-2008. Hence the
>> mention of "git clients older than 2008-era git" not being a concern.
>>
>> I.e. the target audience for this bit of documentatino is someone
>> running 1.6.0. or newer that's also concerned about pre-1.4.4.
>
> Step back and think why the 1.6.0 carried the mention in the release
> notes, and added the "use of delta-base-offset is incompatible with
> versions of Git that are older than 1.4.4" to the documentation.
>
> Back in 1.6.0 days, some of the users still had to refrain from
> using the delta-base-offset feature by explicitly disabling it,
> because the version of Git running on the other side of their
> connection were before eb32d236 (introduce delta objects with offset
> to base, 2006-09-21)---1.4.4 was the first version of Git that
> learned how to produce packs with delta-base-offset, and how to read
> objects out of such packs.
>
> If 1.4.4 were too distant in the past to matter and we were sure
> nobody is running such an ancient version back then, we wouldn't
> have written such a notice there in the document when we turned it
> on by default in 1.6.0.
>
> Or, step back and think what we would have taken into account, if
> the patch in question were suggested during the development cycle
> toward Git 1.7.0, and what the reason for rejection would have been.
> Even if there were tons of folks who were running pre-1.6.0 versions
> of Git, as long as these old versions were all newer than 1.4.4,
> then we would have said that the warning would not matter.  The
> reason to reject such a patch in 1.7.0 cycle would not be because of
> the age of 1.6.0 being too young, but because of the age of 1.4.4
> being not old enough.
>
> Both are based on how distant in the past 1.4.4 had happened.  As
> the removed paragraph says, generated packs with delta-base-offset
> are "incompatible with versions of Git older than 1.4.4".  If 1.4.4
> and older died out, nobody needs to worry about use of d-b-o.  If
> 1.4.4 and older are still used, we would need to.  How ancient 1.6.0
> does not matter.
The removed documentation covers two distinct topics:
 1. For >= 1.6.0 that the default changed to include --delta-base-offset.
 2. For < 1.4.4 that providing --delta-base-offset produces
    incompatibilties.

With "older than 2008-era git" and v1.6.0. I was referring to #1, not #2. You're pointing out that we should cover #2 more prominently, I'll re-roll to do that.

> Perhaps rein in the temptation to "attack back" in spinal reflex
> when somebody bothers to take time to point out where you are
> mistaken?  They are often not attacking you, but merely offering
> improvements.

That's really not the case here. The reason I replied with a clarification was this part of your upthread <xmqqsfn21fmt.fsf@gitster.g>:

	But with the rest of proposed log message that hints that the
	above statement is backed by a solid study of history, it is
	wrong to write a wrong version number there.

Which I may have misread, but I understood as going beyond suggesting that we cover #2 over (or in addition to) #1, and into speculation that the change being suggested here was suspect because I hadn't carried out a "solid study of history".

Which I would agree with if I had mixed the two up. After all if someone proposes to remove documentation where 1.4.4 v.s. 1.6.0 is critical what else have they missed, and can the change be trusted? Perhaps there's some major caveat that the referenced older commits would reveal that the submitter didn't bother to study.

Which is why I replied rather than re-rolling. I.e. if that was the case I don't think a mere re-roll would address all of your concerns, I'd just be copy/pasting and rephrasing what you suggested, but I still wouldn't have carried out that "study of history".

But that's not the case. I was just attempting to go for brevity here. I.e. if I could establish that anything older than 1.6.0 wasn't relevant (#1) I wouldn't have to cover (#2) at all, as it follows from the chronology that if #1 isn't worth worrying about, neither is #2.

I'll re-roll with something I think addresses your comments here, and perhaps I've just dug myself deeper into the hole you've pegged my in with this reply, but hopefully this clarifies things & where I was coming from.

Thanks.
Previous: Junio C HamanoNext: Junio C Hamano
Message 5 of 11 in “git-repack doc: remove discussion of ancient caveat”
  1. git-repack doc: remove discussion of ancient caveatÆvar Arnfjörð Bjarmason, Jul 15, 2022
  2. Junio C HamanoJul 15, 2022
  3. Ævar Arnfjörð BjarmasonJul 16, 2022
  4. Junio C HamanoJul 18, 2022
  5. Ævar Arnfjörð BjarmasonJul 18, 2022
  6. Junio C HamanoJul 19, 2022
  7. Ævar Arnfjörð BjarmasonJul 19, 2022
  8. repack: document there is no need to avoid delta-base-offsetJunio C Hamano, Jul 19, 2022
  9. Ævar Arnfjörð BjarmasonJul 19, 2022
  10. Junio C HamanoJul 19, 2022
  11. docs: remove pre-v1.6.0 "repack --delta-base-offset" docsÆvar Arnfjörð Bjarmason, Jul 19, 2022

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.