]> git.ipfire.org Git - thirdparty/git.git/commitdiff
config: document remote.*.url/pushurl interaction
authorJeff King <peff@peff.net>
Fri, 14 Jun 2024 10:30:05 +0000 (06:30 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 14 Jun 2024 16:34:38 +0000 (09:34 -0700)
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@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/config/remote.txt

index 0678b4bcfef7e6150a4661edb1b5cc229dfa9adf..eef0bf4f622c7baa76b323824bc187deee1346b6 100644 (file)
@@ -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