On Fri, Jun 14, 2024 at 3:43 AM Jeff King <peff@xxxxxxxx> wrote: > > 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 <peff@xxxxxxxx> > --- > Documentation/config/remote.txt | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > 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.<name>.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.<name>.pushurl` is defined). > > remote.<name>.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.<name>.url`. A configured > + remote can have multiple push URLs; in this case a push goes to > + all of them. > > remote.<name>.proxy:: > For remotes that require curl (http, https and ftp), the URL to > -- > 2.45.2.937.g0bcb3c087a I was unaware of these facts prior to reading this series, and I've read the documentation multiple times and occasionally even glanced at nearby code. So, definitely a welcome documentation addition.