transfer doc: move fetch.credentialsInUrl to "transfer" config namespace
Rename the "fetch.credentialsInUrl" configuration variable introduced
in 6dcbdc0d66
(remote: create fetch.credentialsInUrl config,
2022-06-06) to "transfer".
There are existing exceptions, but generally speaking the
"<namespace>.<var>" configuration should only apply to command
described in the "namespace" (and its sub-commands, so e.g. "clone.*"
or "fetch.*" might also configure "git-remote-https").
But in the case of "fetch.credentialsInUrl" we've got a configuration
variable that configures the behavior of all of "clone", "push" and
"fetch", someone adjusting "fetch.*" configuration won't expect to
have the behavior of "git push" altered, especially as we have the
pre-existing "{transfer,fetch,receive}.fsckObjects", which configures
different parts of the transfer dialog.
So let's move this configuration variable to the "transfer" namespace
before it's exposed in a release. We could add all of
"{transfer,fetch,pull}.credentialsInUrl" at some other time, but once
we have "fetch" configure "pull" such an arrangement would would be a
confusing mess, as we'd at least need to have "fetch" configure
"push" (but not the other way around), or change existing behavior.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Acked-by: Derrick Stolee <derrickstolee@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
4a169da280
commit
7281c196b1
@ -1836,18 +1836,18 @@ test_expect_success 'refuse to push a hidden ref, and make sure do not pollute t
|
||||
|
||||
test_expect_success 'fetch warns or fails when using username:password' '
|
||||
message="URL '\''https://username:<redacted>@localhost/'\'' uses plaintext credentials" &&
|
||||
test_must_fail git -c fetch.credentialsInUrl=allow fetch https://username:password@localhost 2>err &&
|
||||
test_must_fail git -c transfer.credentialsInUrl=allow fetch https://username:password@localhost 2>err &&
|
||||
! grep "$message" err &&
|
||||
|
||||
test_must_fail git -c fetch.credentialsInUrl=warn fetch https://username:password@localhost 2>err &&
|
||||
test_must_fail git -c transfer.credentialsInUrl=warn fetch https://username:password@localhost 2>err &&
|
||||
grep "warning: $message" err >warnings &&
|
||||
test_line_count = 3 warnings &&
|
||||
|
||||
test_must_fail git -c fetch.credentialsInUrl=die fetch https://username:password@localhost 2>err &&
|
||||
test_must_fail git -c transfer.credentialsInUrl=die fetch https://username:password@localhost 2>err &&
|
||||
grep "fatal: $message" err >warnings &&
|
||||
test_line_count = 1 warnings &&
|
||||
|
||||
test_must_fail git -c fetch.credentialsInUrl=die fetch https://username:@localhost 2>err &&
|
||||
test_must_fail git -c transfer.credentialsInUrl=die fetch https://username:@localhost 2>err &&
|
||||
grep "fatal: $message" err >warnings &&
|
||||
test_line_count = 1 warnings
|
||||
'
|
||||
@ -1855,12 +1855,12 @@ test_expect_success 'fetch warns or fails when using username:password' '
|
||||
|
||||
test_expect_success 'push warns or fails when using username:password' '
|
||||
message="URL '\''https://username:<redacted>@localhost/'\'' uses plaintext credentials" &&
|
||||
test_must_fail git -c fetch.credentialsInUrl=allow push https://username:password@localhost 2>err &&
|
||||
test_must_fail git -c transfer.credentialsInUrl=allow push https://username:password@localhost 2>err &&
|
||||
! grep "$message" err &&
|
||||
|
||||
test_must_fail git -c fetch.credentialsInUrl=warn push https://username:password@localhost 2>err &&
|
||||
test_must_fail git -c transfer.credentialsInUrl=warn push https://username:password@localhost 2>err &&
|
||||
grep "warning: $message" err >warnings &&
|
||||
test_must_fail git -c fetch.credentialsInUrl=die push https://username:password@localhost 2>err &&
|
||||
test_must_fail git -c transfer.credentialsInUrl=die push https://username:password@localhost 2>err &&
|
||||
grep "fatal: $message" err >warnings &&
|
||||
test_line_count = 1 warnings
|
||||
'
|
||||
|
@ -73,24 +73,24 @@ test_expect_success 'clone respects GIT_WORK_TREE' '
|
||||
|
||||
test_expect_success 'clone warns or fails when using username:password' '
|
||||
message="URL '\''https://username:<redacted>@localhost/'\'' uses plaintext credentials" &&
|
||||
test_must_fail git -c fetch.credentialsInUrl=allow clone https://username:password@localhost attempt1 2>err &&
|
||||
test_must_fail git -c transfer.credentialsInUrl=allow clone https://username:password@localhost attempt1 2>err &&
|
||||
! grep "$message" err &&
|
||||
|
||||
test_must_fail git -c fetch.credentialsInUrl=warn clone https://username:password@localhost attempt2 2>err &&
|
||||
test_must_fail git -c transfer.credentialsInUrl=warn clone https://username:password@localhost attempt2 2>err &&
|
||||
grep "warning: $message" err >warnings &&
|
||||
test_line_count = 2 warnings &&
|
||||
|
||||
test_must_fail git -c fetch.credentialsInUrl=die clone https://username:password@localhost attempt3 2>err &&
|
||||
test_must_fail git -c transfer.credentialsInUrl=die clone https://username:password@localhost attempt3 2>err &&
|
||||
grep "fatal: $message" err >warnings &&
|
||||
test_line_count = 1 warnings &&
|
||||
|
||||
test_must_fail git -c fetch.credentialsInUrl=die clone https://username:@localhost attempt3 2>err &&
|
||||
test_must_fail git -c transfer.credentialsInUrl=die clone https://username:@localhost attempt3 2>err &&
|
||||
grep "fatal: $message" err >warnings &&
|
||||
test_line_count = 1 warnings
|
||||
'
|
||||
|
||||
test_expect_success 'clone does not detect username:password when it is https://username@domain:port/' '
|
||||
test_must_fail git -c fetch.credentialsInUrl=warn clone https://username@localhost:8080 attempt3 2>err &&
|
||||
test_must_fail git -c transfer.credentialsInUrl=warn clone https://username@localhost:8080 attempt3 2>err &&
|
||||
! grep "uses plaintext credentials" err
|
||||
'
|
||||
|
||||
|
Reference in New Issue
Block a user