{"thread":{"id":"58166","subject":"[PATCH] git-repack doc: remove discussion of ancient caveat","startedAt":"2022-07-15T07:51:38Z","lastAt":"2022-07-19T22:20:46Z","messageCount":11,"participants":["Ævar Arnfjörð Bjarmason","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"459125","messageId":"patch-1.1-363f84a3fa7-20220715T075114Z-avarab@gmail.com","threadId":"58166","inReplyTo":null,"subject":"[PATCH] git-repack doc: remove discussion of ancient caveat","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2022-07-15T07:51:28Z","receivedAt":"2022-07-15T07:51:38Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"The backwards compatibility caveat discussed her hasn't been a concern\nfor anyone after Git v1.6.0. Let's simply remove it, I daresay\nnobody's concerned these days with having git clients running older\nthan 2008-era git.\n\nSee b6945f570ac (git-repack: repo.usedeltabaseoffset, 2006-10-13) and\n9f17688d93c (update git-repack documentation wrt\nrepack.UseDeltaBaseOffset, 2010-02-04) for the commits that previously\nintroduced and adjusted this documentation.\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n Documentation/git-repack.txt | 10 ----------\n 1 file changed, 10 deletions(-)\n\ndiff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt\nindex 0bf13893d81..fe1eac37090 100644\n--- a/Documentation/git-repack.txt\n+++ b/Documentation/git-repack.txt\n@@ -218,16 +218,6 @@ CONFIGURATION\n Various configuration variables affect packing, see\n linkgit:git-config[1] (search for \"pack\" and \"delta\").\n \n-By default, the command passes `--delta-base-offset` option to\n-'git pack-objects'; this typically results in slightly smaller packs,\n-but the generated packs are incompatible with versions of Git older than\n-version 1.4.4. If you need to share your repository with such ancient Git\n-versions, either directly or via the dumb http protocol, then you\n-need to set the configuration variable `repack.UseDeltaBaseOffset` to\n-\"false\" and repack. Access from old Git versions over the native protocol\n-is unaffected by this option as the conversion is performed on the fly\n-as needed in that case.\n-\n Delta compression is not used on objects larger than the\n `core.bigFileThreshold` configuration variable and on files with the\n attribute `delta` set to false.\n-- \n2.37.1.996.g651fc6e809f\n\n"},{"id":"459157","messageId":"xmqqsfn21fmt.fsf@gitster.g","threadId":"58166","inReplyTo":"patch-1.1-363f84a3fa7-20220715T075114Z-avarab@gmail.com","subject":"Re: [PATCH] git-repack doc: remove discussion of ancient caveat","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-07-15T16:53:46Z","receivedAt":"2022-07-15T16:53:57Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:\n\n> The backwards compatibility caveat discussed her hasn't been a concern\n> for anyone after Git v1.6.0. Let's simply remove it, I daresay\n> nobody's concerned these days with having git clients running older\n> than 2008-era git.\n\nFor the purpose of this message, Git 1.6.0 has no significance.\nAnything newer than 1.4.4 should be able to understand packfiles\nthat use delta-base-offset, even though they may not have used\ndelta-base-offset when writing a new one.\n\nThat's all academic.  I wouldn't have written the above if the\nproposed log message stopped here.  But with the rest of proposed\nlog message that hints that the above statement is backed by a solid\nstudy of history, it is wrong to write a wrong version number there.\n\nI agree that it is safe to say that anything before Git 2.0.0 is\nirrelevant at this point (I would actually say before Git 2.16.0,\ni.e. anything older than 3-4 years).\n\n> See b6945f570ac (git-repack: repo.usedeltabaseoffset, 2006-10-13) and\n> 9f17688d93c (update git-repack documentation wrt\n> repack.UseDeltaBaseOffset, 2010-02-04) for the commits that previously\n> introduced and adjusted this documentation.\n>\n> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n> ---\n>  Documentation/git-repack.txt | 10 ----------\n>  1 file changed, 10 deletions(-)\n>\n> diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt\n> index 0bf13893d81..fe1eac37090 100644\n> --- a/Documentation/git-repack.txt\n> +++ b/Documentation/git-repack.txt\n> @@ -218,16 +218,6 @@ CONFIGURATION\n>  Various configuration variables affect packing, see\n>  linkgit:git-config[1] (search for \"pack\" and \"delta\").\n>  \n> -By default, the command passes `--delta-base-offset` option to\n> -'git pack-objects'; this typically results in slightly smaller packs,\n> -but the generated packs are incompatible with versions of Git older than\n> -version 1.4.4. If you need to share your repository with such ancient Git\n> -versions, either directly or via the dumb http protocol, then you\n> -need to set the configuration variable `repack.UseDeltaBaseOffset` to\n> -\"false\" and repack. Access from old Git versions over the native protocol\n> -is unaffected by this option as the conversion is performed on the fly\n> -as needed in that case.\n> -\n>  Delta compression is not used on objects larger than the\n>  `core.bigFileThreshold` configuration variable and on files with the\n>  attribute `delta` set to false.\n"},{"id":"459189","messageId":"220716.8635f1zdg3.gmgdl@evledraar.gmail.com","threadId":"58166","inReplyTo":"xmqqsfn21fmt.fsf@gitster.g","subject":"Re: [PATCH] git-repack doc: remove discussion of ancient caveat","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2022-07-16T07:59:17Z","receivedAt":"2022-07-16T08:09:22Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Fri, Jul 15 2022, Junio C Hamano wrote:\n\n> Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:\n>\n>> The backwards compatibility caveat discussed her hasn't been a concern\n>> for anyone after Git v1.6.0. Let's simply remove it, I daresay\n>> nobody's concerned these days with having git clients running older\n>> than 2008-era git.\n>\n> For the purpose of this message, Git 1.6.0 has no significance.\n> Anything newer than 1.4.4 should be able to understand packfiles\n> that use delta-base-offset, even though they may not have used\n> delta-base-offset when writing a new one.\n>\n> That's all academic.  I wouldn't have written the above if the\n> proposed log message stopped here.  But with the rest of proposed\n> log message that hints that the above statement is backed by a solid\n> study of history, it is wrong to write a wrong version number there.\n>\n> I agree that it is safe to say that anything before Git 2.0.0 is\n> irrelevant at this point (I would actually say before Git 2.16.0,\n> i.e. anything older than 3-4 years).\n\n1.4.4 is the version that introduced the flag, but the paragraphs I'm\nremoving is relevant to 1.6.0, as it discusses concerns with that\nnew-in-1.4.4 --delta-base-offset flag being turned on by default.\n\nSo this documentation matches e.g. the RelNotes update you made in\ne903b4095a0 (Update draft release notes for 1.6.0, 2008-07-01).\n\nI.e. 1.4.4 was released in late 2006, 1.6.0 in mid-2008. Hence the\nmention of \"git clients older than 2008-era git\" not being a concern.\n\nI.e. the target audience for this bit of documentatino is someone\nrunning 1.6.0. or newer that's also concerned about pre-1.4.4.\n\n>> See b6945f570ac (git-repack: repo.usedeltabaseoffset, 2006-10-13) and\n>> 9f17688d93c (update git-repack documentation wrt\n>> repack.UseDeltaBaseOffset, 2010-02-04) for the commits that previously\n>> introduced and adjusted this documentation.\n>>\n>> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n>> ---\n>>  Documentation/git-repack.txt | 10 ----------\n>>  1 file changed, 10 deletions(-)\n>>\n>> diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt\n>> index 0bf13893d81..fe1eac37090 100644\n>> --- a/Documentation/git-repack.txt\n>> +++ b/Documentation/git-repack.txt\n>> @@ -218,16 +218,6 @@ CONFIGURATION\n>>  Various configuration variables affect packing, see\n>>  linkgit:git-config[1] (search for \"pack\" and \"delta\").\n>>  \n>> -By default, the command passes `--delta-base-offset` option to\n>> -'git pack-objects'; this typically results in slightly smaller packs,\n>> -but the generated packs are incompatible with versions of Git older than\n>> -version 1.4.4. If you need to share your repository with such ancient Git\n>> -versions, either directly or via the dumb http protocol, then you\n>> -need to set the configuration variable `repack.UseDeltaBaseOffset` to\n>> -\"false\" and repack. Access from old Git versions over the native protocol\n>> -is unaffected by this option as the conversion is performed on the fly\n>> -as needed in that case.\n>> -\n>>  Delta compression is not used on objects larger than the\n>>  `core.bigFileThreshold` configuration variable and on files with the\n>>  attribute `delta` set to false.\n\n"},{"id":"459238","messageId":"xmqq1qujt334.fsf@gitster.g","threadId":"58166","inReplyTo":"220716.8635f1zdg3.gmgdl@evledraar.gmail.com","subject":"Re: [PATCH] git-repack doc: remove discussion of ancient caveat","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-07-18T05:14:07Z","receivedAt":"2022-07-18T05:14:15Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:\n\n>> That's all academic.  I wouldn't have written the above if the\n>> proposed log message stopped here.  But with the rest of proposed\n>> log message that hints that the above statement is backed by a solid\n>> study of history, it is wrong to write a wrong version number there.\n>>\n>> I agree that it is safe to say that anything before Git 2.0.0 is\n>> irrelevant at this point (I would actually say before Git 2.16.0,\n>> i.e. anything older than 3-4 years).\n>\n> 1.4.4 is the version that introduced the flag, but the paragraphs I'm\n> removing is relevant to 1.6.0, as it discusses concerns with that\n> new-in-1.4.4 --delta-base-offset flag being turned on by default.\n>\n> So this documentation matches e.g. the RelNotes update you made in\n> e903b4095a0 (Update draft release notes for 1.6.0, 2008-07-01).\n>\n> I.e. 1.4.4 was released in late 2006, 1.6.0 in mid-2008. Hence the\n> mention of \"git clients older than 2008-era git\" not being a concern.\n>\n> I.e. the target audience for this bit of documentatino is someone\n> running 1.6.0. or newer that's also concerned about pre-1.4.4.\n\nStep back and think why the 1.6.0 carried the mention in the release\nnotes, and added the \"use of delta-base-offset is incompatible with\nversions of Git that are older than 1.4.4\" to the documentation.\n\nBack in 1.6.0 days, some of the users still had to refrain from\nusing the delta-base-offset feature by explicitly disabling it,\nbecause the version of Git running on the other side of their\nconnection were before eb32d236 (introduce delta objects with offset\nto base, 2006-09-21)---1.4.4 was the first version of Git that\nlearned how to produce packs with delta-base-offset, and how to read\nobjects out of such packs.\n\nIf 1.4.4 were too distant in the past to matter and we were sure\nnobody is running such an ancient version back then, we wouldn't\nhave written such a notice there in the document when we turned it\non by default in 1.6.0.\n\nOr, step back and think what we would have taken into account, if\nthe patch in question were suggested during the development cycle\ntoward Git 1.7.0, and what the reason for rejection would have been.\nEven if there were tons of folks who were running pre-1.6.0 versions\nof Git, as long as these old versions were all newer than 1.4.4,\nthen we would have said that the warning would not matter.  The\nreason to reject such a patch in 1.7.0 cycle would not be because of\nthe age of 1.6.0 being too young, but because of the age of 1.4.4\nbeing not old enough.\n\nBoth are based on how distant in the past 1.4.4 had happened.  As\nthe removed paragraph says, generated packs with delta-base-offset\nare \"incompatible with versions of Git older than 1.4.4\".  If 1.4.4\nand older died out, nobody needs to worry about use of d-b-o.  If\n1.4.4 and older are still used, we would need to.  How ancient 1.6.0\ndoes not matter.\n\nPerhaps rein in the temptation to \"attack back\" in spinal reflex\nwhen somebody bothers to take time to point out where you are\nmistaken?  They are often not attacking you, but merely offering\nimprovements.\n"},{"id":"459239","messageId":"220718.86tu7eyhvz.gmgdl@evledraar.gmail.com","threadId":"58166","inReplyTo":"xmqq1qujt334.fsf@gitster.g","subject":"Re: [PATCH] git-repack doc: remove discussion of ancient caveat","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2022-07-18T07:35:24Z","receivedAt":"2022-07-18T07:55:34Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Sun, Jul 17 2022, Junio C Hamano wrote:\n\n> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:\n>\n>>> That's all academic.  I wouldn't have written the above if the\n>>> proposed log message stopped here.  But with the rest of proposed\n>>> log message that hints that the above statement is backed by a solid\n>>> study of history, it is wrong to write a wrong version number there.\n>>>\n>>> I agree that it is safe to say that anything before Git 2.0.0 is\n>>> irrelevant at this point (I would actually say before Git 2.16.0,\n>>> i.e. anything older than 3-4 years).\n>>\n>> 1.4.4 is the version that introduced the flag, but the paragraphs I'm\n>> removing is relevant to 1.6.0, as it discusses concerns with that\n>> new-in-1.4.4 --delta-base-offset flag being turned on by default.\n>>\n>> So this documentation matches e.g. the RelNotes update you made in\n>> e903b4095a0 (Update draft release notes for 1.6.0, 2008-07-01).\n>>\n>> I.e. 1.4.4 was released in late 2006, 1.6.0 in mid-2008. Hence the\n>> mention of \"git clients older than 2008-era git\" not being a concern.\n>>\n>> I.e. the target audience for this bit of documentatino is someone\n>> running 1.6.0. or newer that's also concerned about pre-1.4.4.\n>\n> Step back and think why the 1.6.0 carried the mention in the release\n> notes, and added the \"use of delta-base-offset is incompatible with\n> versions of Git that are older than 1.4.4\" to the documentation.\n>\n> Back in 1.6.0 days, some of the users still had to refrain from\n> using the delta-base-offset feature by explicitly disabling it,\n> because the version of Git running on the other side of their\n> connection were before eb32d236 (introduce delta objects with offset\n> to base, 2006-09-21)---1.4.4 was the first version of Git that\n> learned how to produce packs with delta-base-offset, and how to read\n> objects out of such packs.\n>\n> If 1.4.4 were too distant in the past to matter and we were sure\n> nobody is running such an ancient version back then, we wouldn't\n> have written such a notice there in the document when we turned it\n> on by default in 1.6.0.\n>\n> Or, step back and think what we would have taken into account, if\n> the patch in question were suggested during the development cycle\n> toward Git 1.7.0, and what the reason for rejection would have been.\n> Even if there were tons of folks who were running pre-1.6.0 versions\n> of Git, as long as these old versions were all newer than 1.4.4,\n> then we would have said that the warning would not matter.  The\n> reason to reject such a patch in 1.7.0 cycle would not be because of\n> the age of 1.6.0 being too young, but because of the age of 1.4.4\n> being not old enough.\n>\n> Both are based on how distant in the past 1.4.4 had happened.  As\n> the removed paragraph says, generated packs with delta-base-offset\n> are \"incompatible with versions of Git older than 1.4.4\".  If 1.4.4\n> and older died out, nobody needs to worry about use of d-b-o.  If\n> 1.4.4 and older are still used, we would need to.  How ancient 1.6.0\n> does not matter.\n\nThe removed documentation covers two distinct topics:\n\n 1. For >= 1.6.0 that the default changed to include --delta-base-offset.\n 2. For < 1.4.4 that providing --delta-base-offset produces\n    incompatibilties.\n\nWith \"older than 2008-era git\" and v1.6.0. I was referring to #1, not\n#2. You're pointing out that we should cover #2 more prominently, I'll\nre-roll to do that.\n\n> Perhaps rein in the temptation to \"attack back\" in spinal reflex\n> when somebody bothers to take time to point out where you are\n> mistaken?  They are often not attacking you, but merely offering\n> improvements.\n\nThat's really not the case here. The reason I replied with a\nclarification was this part of your upthread\n<xmqqsfn21fmt.fsf@gitster.g>:\n\n\tBut with the rest of proposed log message that hints that the\n\tabove statement is backed by a solid study of history, it is\n\twrong to write a wrong version number there.\n\nWhich I may have misread, but I understood as going beyond suggesting\nthat we cover #2 over (or in addition to) #1, and into speculation that\nthe change being suggested here was suspect because I hadn't carried out\na \"solid study of history\".\n\nWhich I would agree with if I had mixed the two up. After all if someone\nproposes to remove documentation where 1.4.4 v.s. 1.6.0 is critical what\nelse have they missed, and can the change be trusted? Perhaps there's\nsome major caveat that the referenced older commits would reveal that\nthe submitter didn't bother to study.\n\nWhich is why I replied rather than re-rolling. I.e. if that was the case\nI don't think a mere re-roll would address all of your concerns, I'd\njust be copy/pasting and rephrasing what you suggested, but I still\nwouldn't have carried out that \"study of history\".\n\nBut that's not the case. I was just attempting to go for brevity\nhere. I.e. if I could establish that anything older than 1.6.0 wasn't\nrelevant (#1) I wouldn't have to cover (#2) at all, as it follows from\nthe chronology that if #1 isn't worth worrying about, neither is #2.\n\nI'll re-roll with something I think addresses your comments here, and\nperhaps I've just dug myself deeper into the hole you've pegged my in\nwith this reply, but hopefully this clarifies things & where I was\ncoming from.\n\nThanks.\n\n"},{"id":"459341","messageId":"patch-v2-1.1-98b6de56019-20220719T000847Z-avarab@gmail.com","threadId":"58166","inReplyTo":"patch-1.1-363f84a3fa7-20220715T075114Z-avarab@gmail.com","subject":"[PATCH v2] docs: remove pre-v1.6.0 \"repack --delta-base-offset\" docs","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2022-07-19T00:09:42Z","receivedAt":"2022-07-19T00:10:23Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Remove documentation about --delta-base-offset that's only pertinent\nto those running versions of git older than v1.4.4 and v1.6.0. Both of\nthose versions are too ancient to care about.\n\nFor the purposes of evaluating this change it only matters that v1.6.0\nis too old at this point for anyone to care about, since the change in\ndefault behavior discussed in the removed documentation impacted\npre-v1.4.4 versions of git.\n\nDetails:\n\nA. As the documentation notes the \"--delta-base-offset\" switch\n   introduced in 1.4.4[1] became the default in 1.6.0[2]. The \"by\n   default\" part of the removed documentation discusses a change in what\n   had been the status quo in v1.4.4..v1.6.0^.\n\nB. When exactly \"--delta-base-offset\" was introduced and when it\n   became the default (as noted in \"A\" above) is only of academic\n   interest once we decide that anything older than 1.6.0 isn't worth\n   caring about.\n\n   The documentation being removed here was added in [3] and [4],\n   which were first released with v1.4.4 and v1.7.0, respectively. At\n   the time it was of interest to someone running v1.6.0 or later that\n   they'd be creating packs incompatible with older git versions.\n\n   But at some point the last user of v1.4.4 in the wild would have\n   went away, presumably followed some time afterwards by the last\n   v1.4.4..v1.6.0^ user.\n\n   If we were turning back the clock we might have removed the\n   \"incompatible with\" part of this documentation once v1.4.4 became\n   irrelevant, but as v1.6.0 was still relevant kept the \"by default\"\n   part.\n\n   But as neither are relevant at this point let's remove this entire\n   paragraph[5].\n\n1. be6b19145f6 (make git-pack-objects able to create deltas with\n   offset to base, 2006-09-21)\n2. 22c79eab295 (repack.usedeltabaseoffset config option now defaults\n   to \"true\", 2008-06-25)\n3. b6945f570ac (git-repack: repo.usedeltabaseoffset, 2006-10-13)\n4. 9f17688d93c (update git-repack documentation wrt\n   repack.UseDeltaBaseOffset, 2010-02-04).\n5. In <xmqqsfn21fmt.fsf@gitster.g> [6] Junio suggests that anything\n   older than v2.0.0 or v2.16.0 isn't relevant at this point\n\n   I think that's defensible, but as e.g. \"gcc110\" on the GCC Farm has\n   a /usr/bin/git version v1.8.3.1 (which was released in mid-2013)\n   that would be a different argument.\n\n   As that case shows there are still OS's with 2013-era software in\n   common use (particularly RHEL and its derivatives).\n\n   But I don't think anyone knows about or can plausibly contrive a\n   scenario where someone still is still v1.6.0 or older, and might\n   therefore benefit from these docs.\n\n   We might want to follow-up with removal of documentation that only\n   benefits users of those ancient version, and tell them that they\n   should consult their OS-installed documentation, newer git isn't\n   going to carry those backwards compatibility notes forward.\n\n   But as long as there are still systems in active use with those\n   versions let's leave that to a future follow-up, either because\n   it's far enough in the future that those versions are truly dead,\n   or because we'd like to drop documentation in that category.\n6. https://lore.kernel.org/git/xmqqsfn21fmt.fsf@gitster.g/\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n\nChanges in v2:\n\n * Updated commit message per\n   https://lore.kernel.org/git/220718.86tu7eyhvz.gmgdl@evledraar.gmail.com/\n\n---\nRange-diff against v1:\n1:  363f84a3fa7 ! 1:  98b6de56019 git-repack doc: remove discussion of ancient caveat\n    @@ Metadata\n     Author: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n     \n      ## Commit message ##\n    -    git-repack doc: remove discussion of ancient caveat\n    +    docs: remove pre-v1.6.0 \"repack --delta-base-offset\" docs\n     \n    -    The backwards compatibility caveat discussed her hasn't been a concern\n    -    for anyone after Git v1.6.0. Let's simply remove it, I daresay\n    -    nobody's concerned these days with having git clients running older\n    -    than 2008-era git.\n    +    Remove documentation about --delta-base-offset that's only pertinent\n    +    to those running versions of git older than v1.4.4 and v1.6.0. Both of\n    +    those versions are too ancient to care about.\n     \n    -    See b6945f570ac (git-repack: repo.usedeltabaseoffset, 2006-10-13) and\n    -    9f17688d93c (update git-repack documentation wrt\n    -    repack.UseDeltaBaseOffset, 2010-02-04) for the commits that previously\n    -    introduced and adjusted this documentation.\n    +    For the purposes of evaluating this change it only matters that v1.6.0\n    +    is too old at this point for anyone to care about, since the change in\n    +    default behavior discussed in the removed documentation impacted\n    +    pre-v1.4.4 versions of git.\n    +\n    +    Details:\n    +\n    +    A. As the documentation notes the \"--delta-base-offset\" switch\n    +       introduced in 1.4.4[1] became the default in 1.6.0[2]. The \"by\n    +       default\" part of the removed documentation discusses a change in what\n    +       had been the status quo in v1.4.4..v1.6.0^.\n    +\n    +    B. When exactly \"--delta-base-offset\" was introduced and when it\n    +       became the default (as noted in \"A\" above) is only of academic\n    +       interest once we decide that anything older than 1.6.0 isn't worth\n    +       caring about.\n    +\n    +       The documentation being removed here was added in [3] and [4],\n    +       which were first released with v1.4.4 and v1.7.0, respectively. At\n    +       the time it was of interest to someone running v1.6.0 or later that\n    +       they'd be creating packs incompatible with older git versions.\n    +\n    +       But at some point the last user of v1.4.4 in the wild would have\n    +       went away, presumably followed some time afterwards by the last\n    +       v1.4.4..v1.6.0^ user.\n    +\n    +       If we were turning back the clock we might have removed the\n    +       \"incompatible with\" part of this documentation once v1.4.4 became\n    +       irrelevant, but as v1.6.0 was still relevant kept the \"by default\"\n    +       part.\n    +\n    +       But as neither are relevant at this point let's remove this entire\n    +       paragraph[5].\n    +\n    +    1. be6b19145f6 (make git-pack-objects able to create deltas with\n    +       offset to base, 2006-09-21)\n    +    2. 22c79eab295 (repack.usedeltabaseoffset config option now defaults\n    +       to \"true\", 2008-06-25)\n    +    3. b6945f570ac (git-repack: repo.usedeltabaseoffset, 2006-10-13)\n    +    4. 9f17688d93c (update git-repack documentation wrt\n    +       repack.UseDeltaBaseOffset, 2010-02-04).\n    +    5. In <xmqqsfn21fmt.fsf@gitster.g> [6] Junio suggests that anything\n    +       older than v2.0.0 or v2.16.0 isn't relevant at this point\n    +\n    +       I think that's defensible, but as e.g. \"gcc110\" on the GCC Farm has\n    +       a /usr/bin/git version v1.8.3.1 (which was released in mid-2013)\n    +       that would be a different argument.\n    +\n    +       As that case shows there are still OS's with 2013-era software in\n    +       common use (particularly RHEL and its derivatives).\n    +\n    +       But I don't think anyone knows about or can plausibly contrive a\n    +       scenario where someone still is still v1.6.0 or older, and might\n    +       therefore benefit from these docs.\n    +\n    +       We might want to follow-up with removal of documentation that only\n    +       benefits users of those ancient version, and tell them that they\n    +       should consult their OS-installed documentation, newer git isn't\n    +       going to carry those backwards compatibility notes forward.\n    +\n    +       But as long as there are still systems in active use with those\n    +       versions let's leave that to a future follow-up, either because\n    +       it's far enough in the future that those versions are truly dead,\n    +       or because we'd like to drop documentation in that category.\n    +    6. https://lore.kernel.org/git/xmqqsfn21fmt.fsf@gitster.g/\n     \n         Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n     \n\n Documentation/git-repack.txt | 10 ----------\n 1 file changed, 10 deletions(-)\n\ndiff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt\nindex 0bf13893d81..fe1eac37090 100644\n--- a/Documentation/git-repack.txt\n+++ b/Documentation/git-repack.txt\n@@ -218,16 +218,6 @@ CONFIGURATION\n Various configuration variables affect packing, see\n linkgit:git-config[1] (search for \"pack\" and \"delta\").\n \n-By default, the command passes `--delta-base-offset` option to\n-'git pack-objects'; this typically results in slightly smaller packs,\n-but the generated packs are incompatible with versions of Git older than\n-version 1.4.4. If you need to share your repository with such ancient Git\n-versions, either directly or via the dumb http protocol, then you\n-need to set the configuration variable `repack.UseDeltaBaseOffset` to\n-\"false\" and repack. Access from old Git versions over the native protocol\n-is unaffected by this option as the conversion is performed on the fly\n-as needed in that case.\n-\n Delta compression is not used on objects larger than the\n `core.bigFileThreshold` configuration variable and on files with the\n attribute `delta` set to false.\n-- \n2.37.1.1032.gb00b5447790\n\n"},{"id":"459342","messageId":"xmqqk089ewbx.fsf@gitster.g","threadId":"58166","inReplyTo":"220718.86tu7eyhvz.gmgdl@evledraar.gmail.com","subject":"Re: [PATCH] git-repack doc: remove discussion of ancient caveat","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-07-19T01:16:02Z","receivedAt":"2022-07-19T01:17:23Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:\n\n> Which I may have misread, but I understood as going beyond suggesting\n> that we cover #2 over (or in addition to) #1, and into speculation that\n> the change being suggested here was suspect because I hadn't carried out\n> a \"solid study of history\".\n\nOK, so there was a study of history, but the resulting commit did\nnot interpret and reflect what's significant in the history\ncorrectly.  Sorry for mischaracterizing your mistake.\n\nLets put it this way.  Here is a statement:\n\n    Since 1.6.0, people started to need to worry more about\n    compatibility with 1.4.4 and older.\n\nNow that statement, while it may be still correct, is irrelevant.\nWhy?\n\nEven if there were tons of people who still use 1.6.0 (or 1.5.3 for\nthat matter, which happens to be one of my favorite releases in the\nera), as long as nobody uses 1.4.4 or older, we can safely remove\nsuch a statement from our end-user facing documentation set.  Some\narchaeologists in us may care, but it is irrelevant to the general\npublic, as long as 1.4.4 or older have died out.  \"As continued use\nof 1.4.4 by people stopped being an issue long time ago, remove the\nwarning about interoperability\" is the only thing we need to say\nabout this change.  We can add \"that we needed to add in 1.6.0 era\"\nat the end but that is already too verbose.\n\nPlease do not be one of those folks we had to deal with in the past\nwho for whatever reason cannot admit that they were wrong.\n\nThanks.\n"},{"id":"459348","messageId":"220719.8635exwje8.gmgdl@evledraar.gmail.com","threadId":"58166","inReplyTo":"xmqqk089ewbx.fsf@gitster.g","subject":"Re: [PATCH] git-repack doc: remove discussion of ancient caveat","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2022-07-19T09:07:29Z","receivedAt":"2022-07-19T09:18:49Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Mon, Jul 18 2022, Junio C Hamano wrote:\n\n> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:\n>\n>> Which I may have misread, but I understood as going beyond suggesting\n>> that we cover #2 over (or in addition to) #1, and into speculation that\n>> the change being suggested here was suspect because I hadn't carried out\n>> a \"solid study of history\".\n>\n> OK, so there was a study of history, but the resulting commit did\n> not interpret and reflect what's significant in the history\n> correctly.  Sorry for mischaracterizing your mistake.\n>\n> Lets put it this way.  Here is a statement:\n>\n>     Since 1.6.0, people started to need to worry more about\n>     compatibility with 1.4.4 and older.\n>\n> Now that statement, while it may be still correct, is irrelevant.\n> Why?\n>\n> Even if there were tons of people who still use 1.6.0 (or 1.5.3 for\n> that matter, which happens to be one of my favorite releases in the\n> era), as long as nobody uses 1.4.4 or older, we can safely remove\n> such a statement from our end-user facing documentation set.  Some\n> archaeologists in us may care, but it is irrelevant to the general\n> public, as long as 1.4.4 or older have died out.  \"As continued use\n> of 1.4.4 by people stopped being an issue long time ago, remove the\n> warning about interoperability\" is the only thing we need to say\n> about this change.  We can add \"that we needed to add in 1.6.0 era\"\n> at the end but that is already too verbose.\n>\n> Please do not be one of those folks we had to deal with in the past\n> who for whatever reason cannot admit that they were wrong.\n\nI won't, and I think on the subject of documentation & commit messages\nyou (as in me, in this case) have already lost the \"argument\" if you're\nhaving to explain what was meant by the text, which clearly should be\nself-contained enough to resolve any such ambiguities by itself.\n\nI was just replying to clarify what I was trying to go for in the v1,\nwhich in my mind isn't an argument *for* that version, but just an\nexplanation. I.e. sometimes the solution is to more clearly phrase what\nI was going for, and sometimes it's to take another approach entirely.\n\nIn in case, I we may have crossed in E-Mails, here's a re-rolled v2:\n\n    https://lore.kernel.org/git/patch-v2-1.1-98b6de56019-20220719T000847Z-avarab@gmail.com/\n\nI tried to make the dates & versions involved clear, and also to work in\nyour preference for v2.0.0 (or possibly later) as a cut-off.\n\nIt may not at all be what you had in mind, or maybe you're willing to\nqueue it as-is, just let me know & I'll adjust it.\n\nThanks a lot for the review, and sorry about the misunderstanding.\n"},{"id":"459475","messageId":"xmqqbktk93kl.fsf_-_@gitster.g","threadId":"58166","inReplyTo":"220719.8635exwje8.gmgdl@evledraar.gmail.com","subject":"[PATCH] repack: document there is no need to avoid delta-base-offset","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-07-19T21:48:26Z","receivedAt":"2022-07-19T21:48:35Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"As continued use of 1.4.4 by people stopped being an issue long time\nago, we can safely remove the warning about interoperability that we\nadded in 1.6.0 when the use of delta-base-offset has become default.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n\n * Instead of outright removing, it probably is a good idea to hint\n   the reason why the now seemingly useless configuration variable\n   is there, perhaps.\n\n Documentation/git-repack.txt | 14 +++++---------\n 1 file changed, 5 insertions(+), 9 deletions(-)\n\ndiff --git c/Documentation/git-repack.txt w/Documentation/git-repack.txt\nindex 0bf13893d8..882904fc7b 100644\n--- c/Documentation/git-repack.txt\n+++ w/Documentation/git-repack.txt\n@@ -218,15 +218,11 @@ CONFIGURATION\n Various configuration variables affect packing, see\n linkgit:git-config[1] (search for \"pack\" and \"delta\").\n \n-By default, the command passes `--delta-base-offset` option to\n-'git pack-objects'; this typically results in slightly smaller packs,\n-but the generated packs are incompatible with versions of Git older than\n-version 1.4.4. If you need to share your repository with such ancient Git\n-versions, either directly or via the dumb http protocol, then you\n-need to set the configuration variable `repack.UseDeltaBaseOffset` to\n-\"false\" and repack. Access from old Git versions over the native protocol\n-is unaffected by this option as the conversion is performed on the fly\n-as needed in that case.\n+By default, the command passes `--delta-base-offset` option to 'git\n+pack-objects', which results in packs smaller by a few per-cent.\n+The configuration variable `repack.UseDeltaBaseOffset` can be set to\n+`false` to disable it, but these days there hardly is any reason to\n+do so.\n \n Delta compression is not used on objects larger than the\n `core.bigFileThreshold` configuration variable and on files with the\n"},{"id":"459476","messageId":"220719.86h73cvkbw.gmgdl@evledraar.gmail.com","threadId":"58166","inReplyTo":"xmqqbktk93kl.fsf_-_@gitster.g","subject":"Re: [PATCH] repack: document there is no need to avoid delta-base-offset","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2022-07-19T21:54:18Z","receivedAt":"2022-07-19T21:55:43Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Tue, Jul 19 2022, Junio C Hamano wrote:\n\n> As continued use of 1.4.4 by people stopped being an issue long time\n> ago, we can safely remove the warning about interoperability that we\n> added in 1.6.0 when the use of delta-base-offset has become default.\n>\n> Signed-off-by: Junio C Hamano <gitster@pobox.com>\n> ---\n>\n>  * Instead of outright removing, it probably is a good idea to hint\n>    the reason why the now seemingly useless configuration variable\n>    is there, perhaps.\n\nWe cover that in git-config(1), I don't see a reason to continue\ndicsussing it in git-repack(1) as well. Just above the paragraph you're\nmodifying we link to it.\n\nThe patch you've got here also replaces a specific reason (pre-1.4.4)\nwith a vague reference to \"hardly any reason\", leaving the reader\nwondering what that reason is...\n"},{"id":"459478","messageId":"xmqq7d48922w.fsf@gitster.g","threadId":"58166","inReplyTo":"220719.86h73cvkbw.gmgdl@evledraar.gmail.com","subject":"Re: [PATCH] repack: document there is no need to avoid delta-base-offset","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-07-19T22:20:39Z","receivedAt":"2022-07-19T22:20:46Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:\n\n> On Tue, Jul 19 2022, Junio C Hamano wrote:\n>\n>> As continued use of 1.4.4 by people stopped being an issue long time\n>> ago, we can safely remove the warning about interoperability that we\n>> added in 1.6.0 when the use of delta-base-offset has become default.\n>>\n>> Signed-off-by: Junio C Hamano <gitster@pobox.com>\n>> ---\n>>\n>>  * Instead of outright removing, it probably is a good idea to hint\n>>    the reason why the now seemingly useless configuration variable\n>>    is there, perhaps.\n>\n> We cover that in git-config(1), I don't see a reason to continue\n> dicsussing it in git-repack(1) as well. Just above the paragraph you're\n> modifying we link to it.\n>\n> The patch you've got here also replaces a specific reason (pre-1.4.4)\n> with a vague reference to \"hardly any reason\", leaving the reader\n> wondering what that reason is...\n\nYup, that is the effect I exactly wanted to have, with the \"hint\".\nIf you are curious, you'd dig.  If not, you can just trust the\ndocumentation and not worry about it ;-)\n\n"}]}