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

From: Junio C Hamano <[email-masked]>
Date: Sun, 17 Jul 2022 22:14:07 -0700

Ævar Arnfjörð Bjarmason <[email-masked]> 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.

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.