From: Junio C Hamano <gitster@pobox.com>
To: Christian Couder <christian.couder@gmail.com>
Cc: git@vger.kernel.org,
"brian m . carlson" <sandals@crustytoothpaste.net>,
Patrick Steinhardt <ps@pks.im>,
Karthik Nayak <karthik.188@gmail.com>,
Jeff King <peff@peff.net>, Elijah Newren <newren@gmail.com>
Subject: Re: [PATCH v4 2/5] setup: extract path_allowlist_apply()
Date: Tue, 29 Sep 2026 10:26:12 -0700 [thread overview]
Message-ID: <xmqqy0ckgea3.fsf@gitster.g> (raw)
In-Reply-To: <20260928133846.2094261-3-christian.couder@gmail.com> (Christian Couder's message of "Mon, 28 Sep 2026 15:38:43 +0200")
Christian Couder <christian.couder@gmail.com> writes:
> + /*
> + * A .gitconfig in $HOME may be shared across different
> + * machines and the config variable entries may or may not
> + * exist as paths on all of these machines. In other words,
> + * it is not a warning worthy event when there is no such path
> + * on this machine---the entry may be useful elsewhere.
> + */
This might be a minor point (as not many people may be using the
safe.directory feature that this was moved from), and this dates
back two years, starting with dc0edbb01c (safe.directory: normalize
the configured path, 2024-07-30), but the above design decision cuts
both ways. If you misspelled a pathname, you would never be told
about it.
I wonder if we want to allow users to explicitly mark that it is OK if
a path does not exist, in much the same way that a pathname-typed
configuration variable can be prefixed with :(optional) to tell the
system "if this path exists on the system, use it, but if not, instead
of warning, pretend that you did not see this specified".
That way, a user can first specify the value normally, and then when
they reuse the .gitconfig file somewhere else that does not have the
path, they see a warning message. You would help them by giving a
hint, e.g.,
Specified path foo/bar does not exist. If you spelled the
pathname correctly, and the path is allowed to be missing,
mark it as optional, i.e., ":(optional)foo/bar".
or something along those lines in the warning message and the world
would be a much better place.
In any case, it is outside the scope of this series, beyond leaving
a NEEDSWORK comment here, and/or a #leftoverbits comment in the
review.
next prev parent reply other threads:[~2026-09-29 17:26 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-10 8:51 [PATCH 0/3] Introduce a 'fromAccepted' option to GIT_NO_LAZY_FETCH Christian Couder
2026-07-10 8:51 ` [PATCH 1/3] promisor-remote: factor out lazy_fetch_objects() Christian Couder
2026-07-10 8:51 ` [PATCH 2/3] promisor-remote: introduce enum allow_lazy_fetch Christian Couder
2026-07-10 8:51 ` [PATCH 3/3] promisor-remote: teach 'fromAccepted' to GIT_NO_LAZY_FETCH Christian Couder
2026-07-10 19:50 ` [PATCH 0/3] Introduce a 'fromAccepted' option " brian m. carlson
2026-07-12 9:06 ` Christian Couder
2026-08-07 13:55 ` [PATCH 0/5] Introduce 'uploadpack.lazyFetchTrusted' Christian Couder
2026-08-07 13:55 ` [PATCH 1/5] promisor-remote: factor out lazy_fetch_objects() Christian Couder
2026-08-07 13:58 ` Christian Couder
2026-08-07 13:55 ` [PATCH 2/5] setup: extract path_allowlist_apply() Christian Couder
2026-08-07 13:55 ` [PATCH 3/5] setup: add 'allow_dot' arg to path_allowlist_apply() Christian Couder
2026-08-07 13:55 ` [PATCH 4/5] upload-pack: read uploadpack.lazyFetchTrusted Christian Couder
2026-08-07 13:55 ` [PATCH 5/5] builtin/upload-pack: set GIT_NO_LAZY_FETCH to 0 on trusted repo Christian Couder
2026-08-07 18:31 ` [PATCH 0/5] Introduce 'uploadpack.lazyFetchTrusted' Junio C Hamano
2026-08-10 8:06 ` Christian Couder
2026-08-11 5:55 ` Junio C Hamano
2026-08-13 15:47 ` [PATCH v2 " Christian Couder
2026-08-13 20:31 ` Junio C Hamano
2026-08-14 16:31 ` Christian Couder
2026-08-14 16:40 ` Junio C Hamano
2026-09-08 16:41 ` [PATCH v3 " Christian Couder
2026-09-08 16:41 ` [PATCH v3 1/5] promisor-remote: factor out lazy_fetch_objects() Christian Couder
2026-09-08 17:39 ` Junio C Hamano
2026-09-28 13:39 ` Christian Couder
2026-09-08 16:41 ` [PATCH v3 2/5] setup: extract path_allowlist_apply() Christian Couder
2026-09-08 17:48 ` Junio C Hamano
2026-09-28 13:40 ` Christian Couder
2026-09-08 16:41 ` [PATCH v3 3/5] upload-pack: read uploadpack.lazyFetchTrusted Christian Couder
2026-09-08 16:41 ` [PATCH v3 4/5] promisor-remote: prevent infinite recursion when lazy fetching Christian Couder
2026-09-08 18:12 ` Junio C Hamano
2026-09-09 10:00 ` Christian Couder
2026-09-09 21:39 ` Junio C Hamano
2026-09-28 13:41 ` Christian Couder
2026-09-08 16:41 ` [PATCH v3 5/5] builtin/upload-pack: set GIT_NO_LAZY_FETCH to 0 on trusted repo Christian Couder
2026-09-08 18:34 ` Junio C Hamano
2026-09-28 13:42 ` Christian Couder
2026-09-28 13:38 ` [PATCH v4 0/5] Introduce 'uploadpack.lazyFetchTrusted' Christian Couder
2026-09-28 13:38 ` [PATCH v4 1/5] promisor-remote: factor out lazy_fetch_objects() Christian Couder
2026-09-28 13:38 ` [PATCH v4 2/5] setup: extract path_allowlist_apply() Christian Couder
2026-09-29 17:26 ` Junio C Hamano [this message]
2026-10-02 9:00 ` Christian Couder
2026-09-28 13:38 ` [PATCH v4 3/5] upload-pack: read uploadpack.lazyFetchTrusted Christian Couder
2026-09-28 13:38 ` [PATCH v4 4/5] promisor-remote: prevent infinite recursion when lazy fetching Christian Couder
2026-09-28 13:38 ` [PATCH v4 5/5] builtin/upload-pack: don't disable lazy fetching on trusted repo Christian Couder
2026-09-29 17:47 ` Junio C Hamano
2026-10-02 8:57 ` Christian Couder
2026-10-02 9:18 ` Christian Couder
2026-10-02 8:23 ` [PATCH v5 0/5] Introduce 'uploadpack.lazyFetchTrusted' Christian Couder
2026-10-02 8:23 ` [PATCH v5 1/5] promisor-remote: factor out lazy_fetch_objects() Christian Couder
2026-10-02 8:23 ` [PATCH v5 2/5] setup: extract path_allowlist_apply() Christian Couder
2026-10-02 8:23 ` [PATCH v5 3/5] upload-pack: read uploadpack.lazyFetchTrusted Christian Couder
2026-10-02 8:23 ` [PATCH v5 4/5] promisor-remote: prevent infinite recursion when lazy fetching Christian Couder
2026-10-02 8:23 ` [PATCH v5 5/5] builtin/upload-pack: don't disable lazy fetching on trusted repo Christian Couder
2026-10-05 15:37 ` [PATCH v5 0/5] Introduce 'uploadpack.lazyFetchTrusted' Junio C Hamano
2026-10-06 14:54 ` Christian Couder
2026-10-13 19:21 ` Junio C Hamano
2026-08-13 15:47 ` [PATCH v2 1/5] promisor-remote: factor out lazy_fetch_objects() Christian Couder
2026-08-14 17:49 ` Junio C Hamano
2026-09-08 17:11 ` Christian Couder
2026-08-13 15:47 ` [PATCH v2 2/5] setup: extract path_allowlist_apply() Christian Couder
2026-08-14 17:56 ` Junio C Hamano
2026-09-08 16:46 ` Christian Couder
2026-09-08 17:49 ` Junio C Hamano
2026-08-13 15:47 ` [PATCH v2 3/5] setup: add 'allow_dot' arg to path_allowlist_apply() Christian Couder
2026-08-14 18:12 ` Junio C Hamano
2026-09-08 16:55 ` Christian Couder
2026-08-13 15:47 ` [PATCH v2 4/5] upload-pack: read uploadpack.lazyFetchTrusted Christian Couder
2026-08-14 18:56 ` Junio C Hamano
2026-08-13 15:47 ` [PATCH v2 5/5] builtin/upload-pack: set GIT_NO_LAZY_FETCH to 0 on trusted repo Christian Couder
2026-08-14 19:35 ` Junio C Hamano
2026-09-08 17:02 ` Christian Couder
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=xmqqy0ckgea3.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=karthik.188@gmail.com \
--cc=newren@gmail.com \
--cc=peff@peff.net \
--cc=ps@pks.im \
--cc=sandals@crustytoothpaste.net \
/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.