All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH v2] docs: remove pre-v1.6.0 "repack --delta-base-offset" docs
Date: Tue, 19 Jul 2022 02:09:42 +0200	[thread overview]
Message-ID: <patch-v2-1.1-98b6de56019-20220719T000847Z-avarab@gmail.com> (raw)
In-Reply-To: <patch-1.1-363f84a3fa7-20220715T075114Z-avarab@gmail.com>

Remove documentation about --delta-base-offset that's only pertinent
to those running versions of git older than v1.4.4 and v1.6.0. Both of
those versions are too ancient to care about.

For the purposes of evaluating this change it only matters that v1.6.0
is too old at this point for anyone to care about, since the change in
default behavior discussed in the removed documentation impacted
pre-v1.4.4 versions of git.

Details:

A. As the documentation notes the "--delta-base-offset" switch
   introduced in 1.4.4[1] became the default in 1.6.0[2]. The "by
   default" part of the removed documentation discusses a change in what
   had been the status quo in v1.4.4..v1.6.0^.

B. When exactly "--delta-base-offset" was introduced and when it
   became the default (as noted in "A" above) is only of academic
   interest once we decide that anything older than 1.6.0 isn't worth
   caring about.

   The documentation being removed here was added in [3] and [4],
   which were first released with v1.4.4 and v1.7.0, respectively. At
   the time it was of interest to someone running v1.6.0 or later that
   they'd be creating packs incompatible with older git versions.

   But at some point the last user of v1.4.4 in the wild would have
   went away, presumably followed some time afterwards by the last
   v1.4.4..v1.6.0^ user.

   If we were turning back the clock we might have removed the
   "incompatible with" part of this documentation once v1.4.4 became
   irrelevant, but as v1.6.0 was still relevant kept the "by default"
   part.

   But as neither are relevant at this point let's remove this entire
   paragraph[5].

1. be6b19145f6 (make git-pack-objects able to create deltas with
   offset to base, 2006-09-21)
2. 22c79eab295 (repack.usedeltabaseoffset config option now defaults
   to "true", 2008-06-25)
3. b6945f570ac (git-repack: repo.usedeltabaseoffset, 2006-10-13)
4. 9f17688d93c (update git-repack documentation wrt
   repack.UseDeltaBaseOffset, 2010-02-04).
5. In <xmqqsfn21fmt.fsf@gitster.g> [6] Junio suggests that anything
   older than v2.0.0 or v2.16.0 isn't relevant at this point

   I think that's defensible, but as e.g. "gcc110" on the GCC Farm has
   a /usr/bin/git version v1.8.3.1 (which was released in mid-2013)
   that would be a different argument.

   As that case shows there are still OS's with 2013-era software in
   common use (particularly RHEL and its derivatives).

   But I don't think anyone knows about or can plausibly contrive a
   scenario where someone still is still v1.6.0 or older, and might
   therefore benefit from these docs.

   We might want to follow-up with removal of documentation that only
   benefits users of those ancient version, and tell them that they
   should consult their OS-installed documentation, newer git isn't
   going to carry those backwards compatibility notes forward.

   But as long as there are still systems in active use with those
   versions let's leave that to a future follow-up, either because
   it's far enough in the future that those versions are truly dead,
   or because we'd like to drop documentation in that category.
6. https://lore.kernel.org/git/xmqqsfn21fmt.fsf@gitster.g/

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>

Changes in v2:

 * Updated commit message per
   https://lore.kernel.org/git/220718.86tu7eyhvz.gmgdl@evledraar.gmail.com/

---
Range-diff against v1:
1:  363f84a3fa7 ! 1:  98b6de56019 git-repack doc: remove discussion of ancient caveat
    @@ Metadata
     Author: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
     
      ## Commit message ##
    -    git-repack doc: remove discussion of ancient caveat
    +    docs: remove pre-v1.6.0 "repack --delta-base-offset" docs
     
    -    The backwards compatibility caveat discussed her hasn't been a concern
    -    for anyone after Git v1.6.0. Let's simply remove it, I daresay
    -    nobody's concerned these days with having git clients running older
    -    than 2008-era git.
    +    Remove documentation about --delta-base-offset that's only pertinent
    +    to those running versions of git older than v1.4.4 and v1.6.0. Both of
    +    those versions are too ancient to care about.
     
    -    See b6945f570ac (git-repack: repo.usedeltabaseoffset, 2006-10-13) and
    -    9f17688d93c (update git-repack documentation wrt
    -    repack.UseDeltaBaseOffset, 2010-02-04) for the commits that previously
    -    introduced and adjusted this documentation.
    +    For the purposes of evaluating this change it only matters that v1.6.0
    +    is too old at this point for anyone to care about, since the change in
    +    default behavior discussed in the removed documentation impacted
    +    pre-v1.4.4 versions of git.
    +
    +    Details:
    +
    +    A. As the documentation notes the "--delta-base-offset" switch
    +       introduced in 1.4.4[1] became the default in 1.6.0[2]. The "by
    +       default" part of the removed documentation discusses a change in what
    +       had been the status quo in v1.4.4..v1.6.0^.
    +
    +    B. When exactly "--delta-base-offset" was introduced and when it
    +       became the default (as noted in "A" above) is only of academic
    +       interest once we decide that anything older than 1.6.0 isn't worth
    +       caring about.
    +
    +       The documentation being removed here was added in [3] and [4],
    +       which were first released with v1.4.4 and v1.7.0, respectively. At
    +       the time it was of interest to someone running v1.6.0 or later that
    +       they'd be creating packs incompatible with older git versions.
    +
    +       But at some point the last user of v1.4.4 in the wild would have
    +       went away, presumably followed some time afterwards by the last
    +       v1.4.4..v1.6.0^ user.
    +
    +       If we were turning back the clock we might have removed the
    +       "incompatible with" part of this documentation once v1.4.4 became
    +       irrelevant, but as v1.6.0 was still relevant kept the "by default"
    +       part.
    +
    +       But as neither are relevant at this point let's remove this entire
    +       paragraph[5].
    +
    +    1. be6b19145f6 (make git-pack-objects able to create deltas with
    +       offset to base, 2006-09-21)
    +    2. 22c79eab295 (repack.usedeltabaseoffset config option now defaults
    +       to "true", 2008-06-25)
    +    3. b6945f570ac (git-repack: repo.usedeltabaseoffset, 2006-10-13)
    +    4. 9f17688d93c (update git-repack documentation wrt
    +       repack.UseDeltaBaseOffset, 2010-02-04).
    +    5. In <xmqqsfn21fmt.fsf@gitster.g> [6] Junio suggests that anything
    +       older than v2.0.0 or v2.16.0 isn't relevant at this point
    +
    +       I think that's defensible, but as e.g. "gcc110" on the GCC Farm has
    +       a /usr/bin/git version v1.8.3.1 (which was released in mid-2013)
    +       that would be a different argument.
    +
    +       As that case shows there are still OS's with 2013-era software in
    +       common use (particularly RHEL and its derivatives).
    +
    +       But I don't think anyone knows about or can plausibly contrive a
    +       scenario where someone still is still v1.6.0 or older, and might
    +       therefore benefit from these docs.
    +
    +       We might want to follow-up with removal of documentation that only
    +       benefits users of those ancient version, and tell them that they
    +       should consult their OS-installed documentation, newer git isn't
    +       going to carry those backwards compatibility notes forward.
    +
    +       But as long as there are still systems in active use with those
    +       versions let's leave that to a future follow-up, either because
    +       it's far enough in the future that those versions are truly dead,
    +       or because we'd like to drop documentation in that category.
    +    6. https://lore.kernel.org/git/xmqqsfn21fmt.fsf@gitster.g/
     
         Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
     

 Documentation/git-repack.txt | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt
index 0bf13893d81..fe1eac37090 100644
--- a/Documentation/git-repack.txt
+++ b/Documentation/git-repack.txt
@@ -218,16 +218,6 @@ CONFIGURATION
 Various configuration variables affect packing, see
 linkgit:git-config[1] (search for "pack" and "delta").
 
-By default, the command passes `--delta-base-offset` option to
-'git pack-objects'; this typically results in slightly smaller packs,
-but the generated packs are incompatible with versions of Git older than
-version 1.4.4. If you need to share your repository with such ancient Git
-versions, either directly or via the dumb http protocol, then you
-need to set the configuration variable `repack.UseDeltaBaseOffset` to
-"false" and repack. Access from old Git versions over the native protocol
-is unaffected by this option as the conversion is performed on the fly
-as needed in that case.
-
 Delta compression is not used on objects larger than the
 `core.bigFileThreshold` configuration variable and on files with the
 attribute `delta` set to false.
-- 
2.37.1.1032.gb00b5447790


      parent reply	other threads:[~2022-07-19  0:10 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-15  7:51 [PATCH] git-repack doc: remove discussion of ancient caveat Ævar Arnfjörð Bjarmason
2022-07-15 16:53 ` Junio C Hamano
2022-07-16  7:59   ` Ævar Arnfjörð Bjarmason
2022-07-18  5:14     ` Junio C Hamano
2022-07-18  7:35       ` Ævar Arnfjörð Bjarmason
2022-07-19  1:16         ` Junio C Hamano
2022-07-19  9:07           ` Ævar Arnfjörð Bjarmason
2022-07-19 21:48             ` [PATCH] repack: document there is no need to avoid delta-base-offset Junio C Hamano
2022-07-19 21:54               ` Ævar Arnfjörð Bjarmason
2022-07-19 22:20                 ` Junio C Hamano
2022-07-19  0:09 ` Ævar Arnfjörð Bjarmason [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=patch-v2-1.1-98b6de56019-20220719T000847Z-avarab@gmail.com \
    --to=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.