git/list[1] front-page[2] threads[3] people[4] search[5] about
wed 2026-10-07 18:12 UTC

Re: [PATCH v4 5/5] builtin/upload-pack: don't disable lazy fetching on trusted repo

From
Christian Couder <christian.couder@gmail.com>
Date
Oct 2, 2026, 09:18 UTC
Message-ID
<CAP8UFD00nFxs_wXwdJQL2NxojUcnYozjf2pHm0=MZRAEm-nsrA@mail.gmail.com>
In-Reply-To
<CAP8UFD2Ks9mJ+Gdw02VXjpKv16HTxXTtQ3_5_heP_1TOfsHb-A@mail.gmail.com>

On Fri, Oct 2, 2026 at 10:57 AM Christian Couder <christian.couder@gmail.com> wrote:

Show 22 quoted lines
>
> On Tue, Sep 29, 2026 at 7:47 PM Junio C Hamano <gitster@pobox.com> wrote:
> >
> > Christian Couder <christian.couder@gmail.com> writes:
>
> > > +uploadpack.lazyFetchTrusted::
> > > +     A multi-valued configuration variable, each of which contains the
> > > +     absolute local path of a repository that `upload-pack` is allowed to
> > > +     lazily fetch missing objects for.
> >
> > "each of which" lacks a plural noun to modify.  Perhaps
> >
> >         each value of which specifies the absolute local path of a
>
> Yeah, "each value of which specifies" is used in the v5 I just sent.
>
> >         repository from which upload-pack is allowed to lazily fetch
>
> "from which" would not be quite right, because the client would lazily
> fetch from the promisor remotes of this server repo (using the
> "promisor-remote" capability), not directly from this repo. So the
> rest of the sentence hasn't changed in v5.

Actually "from which" would not be quite right, but not for the reason I just gave. Sorry. It is not about the client, nor about the "promisor-remote" capability.

"uploadpack.lazyFetchTrusted" controls server-side lazy fetching. So when a repo is listed in that config option, the server's `upload-pack` (via `pack-objects`), while serving that repo, lazily fetches missing objects _for_ that repo (not from it).

> >         missing objects.
Previous: Christian CouderNext: Junio C Hamano
Message 68 of 70 in “Introduce a 'fromAccepted' option to GIT_NO_LAZY_FETCH”
  1. 0/3 Introduce a 'fromAccepted' option to GIT_NO_LAZY_FETCHChristian Couder, Jul 10, 2026
  2. 1/3 promisor-remote: factor out lazy_fetch_objects()Christian Couder, Jul 10, 2026
  3. 2/3 promisor-remote: introduce enum allow_lazy_fetchChristian Couder, Jul 10, 2026
  4. 3/3 promisor-remote: teach 'fromAccepted' to GIT_NO_LAZY_FETCHChristian Couder, Jul 10, 2026
  5. brian m. carlsonJul 10, 2026
  6. Christian CouderJul 12, 2026
  7. 0/5 Introduce 'uploadpack.lazyFetchTrusted'Christian Couder, Aug 7, 2026
  8. 1/5 promisor-remote: factor out lazy_fetch_objects()Christian Couder, Aug 7, 2026
  9. 2/5 setup: extract path_allowlist_apply()Christian Couder, Aug 7, 2026
  10. 4/5 upload-pack: read uploadpack.lazyFetchTrustedChristian Couder, Aug 7, 2026
  11. 5/5 builtin/upload-pack: set GIT_NO_LAZY_FETCH to 0 on trusted repoChristian Couder, Aug 7, 2026
  12. 3/5 setup: add 'allow_dot' arg to path_allowlist_apply()Christian Couder, Aug 7, 2026
  13. Christian CouderAug 7, 2026
  14. Junio C HamanoAug 7, 2026
  15. Christian CouderAug 10, 2026
  16. Junio C HamanoAug 11, 2026
  17. 0/5 Introduce 'uploadpack.lazyFetchTrusted'Christian Couder, Aug 13, 2026
  18. 1/5 promisor-remote: factor out lazy_fetch_objects()Christian Couder, Aug 13, 2026
  19. 2/5 setup: extract path_allowlist_apply()Christian Couder, Aug 13, 2026
  20. 3/5 setup: add 'allow_dot' arg to path_allowlist_apply()Christian Couder, Aug 13, 2026
  21. 4/5 upload-pack: read uploadpack.lazyFetchTrustedChristian Couder, Aug 13, 2026
  22. 5/5 builtin/upload-pack: set GIT_NO_LAZY_FETCH to 0 on trusted repoChristian Couder, Aug 13, 2026
  23. Junio C HamanoAug 13, 2026
  24. Christian CouderAug 14, 2026
  25. Junio C HamanoAug 14, 2026
  26. Junio C HamanoAug 14, 2026
  27. Junio C HamanoAug 14, 2026
  28. Junio C HamanoAug 14, 2026
  29. Junio C HamanoAug 14, 2026
  30. Junio C HamanoAug 14, 2026
  31. 0/5 Introduce 'uploadpack.lazyFetchTrusted'Christian Couder, Sep 8, 2026
  32. 1/5 promisor-remote: factor out lazy_fetch_objects()Christian Couder, Sep 8, 2026
  33. 2/5 setup: extract path_allowlist_apply()Christian Couder, Sep 8, 2026
  34. 3/5 upload-pack: read uploadpack.lazyFetchTrustedChristian Couder, Sep 8, 2026
  35. 4/5 promisor-remote: prevent infinite recursion when lazy fetchingChristian Couder, Sep 8, 2026
  36. 5/5 builtin/upload-pack: set GIT_NO_LAZY_FETCH to 0 on trusted repoChristian Couder, Sep 8, 2026
  37. Christian CouderSep 8, 2026
  38. Christian CouderSep 8, 2026
  39. Christian CouderSep 8, 2026
  40. Christian CouderSep 8, 2026
  41. Junio C HamanoSep 8, 2026
  42. Junio C HamanoSep 8, 2026
  43. Junio C HamanoSep 8, 2026
  44. Junio C HamanoSep 8, 2026
  45. Junio C HamanoSep 8, 2026
  46. Christian CouderSep 9, 2026
  47. Junio C HamanoSep 9, 2026
  48. 0/5 Introduce 'uploadpack.lazyFetchTrusted'Christian Couder, Sep 28, 2026
  49. 1/5 promisor-remote: factor out lazy_fetch_objects()Christian Couder, Sep 28, 2026
  50. 2/5 setup: extract path_allowlist_apply()Christian Couder, Sep 28, 2026
  51. 3/5 upload-pack: read uploadpack.lazyFetchTrustedChristian Couder, Sep 28, 2026
  52. 4/5 promisor-remote: prevent infinite recursion when lazy fetchingChristian Couder, Sep 28, 2026
  53. 5/5 builtin/upload-pack: don't disable lazy fetching on trusted repoChristian Couder, Sep 28, 2026
  54. Christian CouderSep 28, 2026
  55. Christian CouderSep 28, 2026
  56. Christian CouderSep 28, 2026
  57. Christian CouderSep 28, 2026
  58. Junio C HamanoSep 29, 2026
  59. Junio C HamanoSep 29, 2026
  60. 0/5 Introduce 'uploadpack.lazyFetchTrusted'Christian Couder, Oct 2, 2026
  61. 1/5 promisor-remote: factor out lazy_fetch_objects()Christian Couder, Oct 2, 2026
  62. 2/5 setup: extract path_allowlist_apply()Christian Couder, Oct 2, 2026
  63. 3/5 upload-pack: read uploadpack.lazyFetchTrustedChristian Couder, Oct 2, 2026
  64. 4/5 promisor-remote: prevent infinite recursion when lazy fetchingChristian Couder, Oct 2, 2026
  65. 5/5 builtin/upload-pack: don't disable lazy fetching on trusted repoChristian Couder, Oct 2, 2026
  66. Christian CouderOct 2, 2026
  67. Christian CouderOct 2, 2026
  68. Christian CouderOct 2, 2026
  69. Junio C HamanoOct 5, 2026
  70. Christian CouderOct 6, 2026

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.