From: Jeff King Date: Fri, 14 Jun 2024 10:30:05 +0000 (-0400) Subject: config: document remote.*.url/pushurl interaction X-Git-Tag: v2.46.0-rc0~17^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bd1b88dc7aedb44561559e88cde0dd7bad78e2ae;p=thirdparty%2Fgit.git config: document remote.*.url/pushurl interaction The documentation for these keys gives a very terse definition and points you to the fetch/push manpages. But from reading those pages it was not at all obvious to me that: - these are keys that can be defined multiple times with meaningful behavior (especially remote.*.url) - the way that pushurl overrides url (the git-push page does mention that "pushurl defaults to url", but it is not immediately clear what a multi-valued url would do in that situation). Let's try to summarize the current behavior. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- diff --git a/Documentation/config/remote.txt b/Documentation/config/remote.txt index 0678b4bcfe..eef0bf4f62 100644 --- a/Documentation/config/remote.txt +++ b/Documentation/config/remote.txt @@ -5,10 +5,16 @@ remote.pushDefault:: remote..url:: The URL of a remote repository. See linkgit:git-fetch[1] or - linkgit:git-push[1]. + linkgit:git-push[1]. A configured remote can have multiple URLs; + in this case the first is used for fetching, and all are used + for pushing (assuming no `remote..pushurl` is defined). remote..pushurl:: The push URL of a remote repository. See linkgit:git-push[1]. + If a `pushurl` option is present in a configured remote, it + is used for pushing instead of `remote..url`. A configured + remote can have multiple push URLs; in this case a push goes to + all of them. remote..proxy:: For remotes that require curl (http, https and ftp), the URL to