mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
credential: convert "url" attribute into its parsed subparts
The git-credential command requires that you feed it a broken-down credential, which means that the client needs to parse a URL itself. Since we have our own URL-parsing routines, we can easily allow the caller to just give us the URL as-is, saving them some code. Signed-off-by: Jeff King <peff@peff.net> Acked-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
6319a2a148
commit
9c183a7072
@@ -140,3 +140,15 @@ Git understands the following attributes:
|
|||||||
`password`::
|
`password`::
|
||||||
|
|
||||||
The credential's password, if we are asking it to be stored.
|
The credential's password, if we are asking it to be stored.
|
||||||
|
|
||||||
|
`url`::
|
||||||
|
|
||||||
|
When this special attribute is read by `git credential`, the
|
||||||
|
value is parsed as a URL and treated as if its constituent parts
|
||||||
|
were read (e.g., `url=https://example.com` would behave as if
|
||||||
|
`protocol=https` and `host=example.com` had been provided). This
|
||||||
|
can help callers avoid parsing URLs themselves. Note that any
|
||||||
|
components which are missing from the URL (e.g., there is no
|
||||||
|
username in the example above) will be set to empty; if you want
|
||||||
|
to provide a URL and override some attributes, provide the URL
|
||||||
|
attribute first, followed by any overrides.
|
||||||
|
|||||||
@@ -172,6 +172,8 @@ int credential_read(struct credential *c, FILE *fp)
|
|||||||
} else if (!strcmp(key, "path")) {
|
} else if (!strcmp(key, "path")) {
|
||||||
free(c->path);
|
free(c->path);
|
||||||
c->path = xstrdup(value);
|
c->path = xstrdup(value);
|
||||||
|
} else if (!strcmp(key, "url")) {
|
||||||
|
credential_from_url(c, value);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Ignore other lines; we don't know what they mean, but
|
* Ignore other lines; we don't know what they mean, but
|
||||||
|
|||||||
Reference in New Issue
Block a user