Documentation: clarify multiple pushurls vs urls
In a remote with multiple configured URLs, `git remote -v` shows the correct url that fetch uses. However, `git config remote.<remote>.url` returns the last defined url instead. This discrepancy can cause confusion for users with a remote defined as such, since any url defined after the first essentially acts as a pushurl. Add documentation to clarify how fetch interacts with multiple urls and how push interacts with multiple pushurls and urls. Add test affirming interaction between fetch and multiple urls. Signed-off-by: Calvin Wan <calvinwan@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
844ede312b
commit
d390e08076
@ -33,7 +33,9 @@ config file would appear like this:
|
|||||||
------------
|
------------
|
||||||
|
|
||||||
The `<pushurl>` is used for pushes only. It is optional and defaults
|
The `<pushurl>` is used for pushes only. It is optional and defaults
|
||||||
to `<URL>`.
|
to `<URL>`. Pushing to a remote affects all defined pushurls or to all
|
||||||
|
defined urls if no pushurls are defined. Fetch, however, will only
|
||||||
|
fetch from the first defined url if muliple urls are defined.
|
||||||
|
|
||||||
Named file in `$GIT_DIR/remotes`
|
Named file in `$GIT_DIR/remotes`
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
@ -806,6 +806,14 @@ test_expect_success 'fetch.writeCommitGraph with submodules' '
|
|||||||
)
|
)
|
||||||
'
|
'
|
||||||
|
|
||||||
|
# fetches from first configured url
|
||||||
|
test_expect_success 'fetch from multiple configured URLs in single remote' '
|
||||||
|
git init url1 &&
|
||||||
|
git remote add multipleurls url1 &&
|
||||||
|
git remote set-url --add multipleurls url2 &&
|
||||||
|
git fetch multipleurls
|
||||||
|
'
|
||||||
|
|
||||||
# configured prune tests
|
# configured prune tests
|
||||||
|
|
||||||
set_config_tristate () {
|
set_config_tristate () {
|
||||||
|
Loading…
Reference in New Issue
Block a user