From: "brian m. carlson" <sandals@crustytoothpaste•net>
To: M Hickford via GitGitGadget <gitgitgadget@gmail•com>
Cc: git@vger•kernel.org, Johannes.Schindelin@gmx•de,
M Hickford <mirth.hickford@gmail•com>
Subject: Re: [PATCH] docs/gitcredentials: describe URL prefix matching
Date: Wed, 1 Oct 2025 22:20:18 +0000 [thread overview]
Message-ID: <aN2pItzrFaga7m9z@fruit.crustytoothpaste.net> (raw)
In-Reply-To: <pull.1979.git.1759352209657.gitgitgadget@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3533 bytes --]
On 2025-10-01 at 20:56:49, M Hickford via GitGitGadget wrote:
> diff --git a/Documentation/gitcredentials.adoc b/Documentation/gitcredentials.adoc
> index 3337bb475d..60c2cc4ade 100644
> --- a/Documentation/gitcredentials.adoc
> +++ b/Documentation/gitcredentials.adoc
> @@ -150,9 +150,8 @@ pattern in the config file. For example, if you have this in your config file:
> username = foo
> --------------------------------------
>
> -then we will match: both protocols are the same, both hosts are the same, and
> -the "pattern" URL does not care about the path component at all. However, this
> -context would not match:
> +then we will match: both protocols are the same and both hosts are the same.
> +However, this context would not match:
>
> --------------------------------------
> [credential "https://kernel.org"]
> @@ -166,11 +165,11 @@ match: Git compares the protocols exactly. However, you may use wildcards in
> the domain name and other pattern matching techniques as with the `http.<URL>.*`
> options.
>
> -If the "pattern" URL does include a path component, then this too must match
> -exactly: the context `https://example.com/bar/baz.git` will match a config
> -entry for `https://example.com/bar/baz.git` (in addition to matching the config
> -entry for `https://example.com`) but will not match a config entry for
> -`https://example.com/bar`.
> +If the "pattern" URL does include a path component, then this must match
> +as a prefix path: the context `https://example.com/bar` will match a config
> +entry for `https://example.com/bar/baz.git` but will not match a config entry for
> +`https://example.com/other/repo.git` or `https://example.com/barry/repo.git`
> +(even though it is a string prefix).
This looks like a good description.
> CONFIGURATION OPTIONS
> diff --git a/t/t0300-credentials.sh b/t/t0300-credentials.sh
> index cb3a85c7ff..07aa834d33 100755
> --- a/t/t0300-credentials.sh
> +++ b/t/t0300-credentials.sh
> @@ -991,18 +991,24 @@ test_expect_success 'url parser not confused by encoded markers' '
>
> test_expect_success 'credential config with partial URLs' '
> echo "echo password=yep" | write_script git-credential-yep &&
> - test_write_lines url=https://user@example.com/repo.git >stdin &&
> + test_write_lines url=https://user@example.com/org/repo.git >stdin &&
> for partial in \
> example.com \
> + example.com/org/repo.git \
> user@example•com \
> + user@example•com/org/repo.git \
> https:// \
> https://example.com \
> https://example.com/ \
> + https://example.com/org \
> + https://example.com/org/ \
> + https://example.com/org/repo.git \
> https://user@example.com \
> https://user@example.com/ \
> - https://example.com/repo.git \
> - https://user@example.com/repo.git \
> - /repo.git
> + https://user@example.com/org \
> + https://user@example.com/org/ \
> + https://user@example.com/org/repo.git \
> + /org/repo.git
> do
> git -c credential.$partial.helper=yep \
> credential fill <stdin >stdout &&
> @@ -1012,7 +1018,12 @@ test_expect_success 'credential config with partial URLs' '
>
> for partial in \
> dont.use.this \
> + example.com/o \
> + user@example•com/o \
> http:// \
> + https://example.com/o \
> + https://user@example.com/o \
> + /o \
> /repo
> do
> git -c credential.$partial.helper=yep \
I appreciate the additional tests here.
--
brian m. carlson (they/them)
Toronto, Ontario, CA
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 262 bytes --]
next prev parent reply other threads:[~2025-10-01 22:20 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-01 20:56 [PATCH] docs/gitcredentials: describe URL prefix matching M Hickford via GitGitGadget
2025-10-01 22:20 ` brian m. carlson [this message]
2025-10-03 20:58 ` [PATCH v2] " M Hickford via GitGitGadget
2025-10-03 21:24 ` Junio C Hamano
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=aN2pItzrFaga7m9z@fruit.crustytoothpaste.net \
--to=sandals@crustytoothpaste$(echo .)net \
--cc=Johannes.Schindelin@gmx$(echo .)de \
--cc=git@vger$(echo .)kernel.org \
--cc=gitgitgadget@gmail$(echo .)com \
--cc=mirth.hickford@gmail$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox