upload-pack: read config when serving protocol v2
The upload-pack code paths never call git_config() with upload_pack_config() when protocol v2 is used, causing options like uploadpack.packobjectshook to not take effect. Ensure that this function is called. Signed-off-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
7cc6ed2d06
commit
5459268751
@ -201,6 +201,20 @@ test_expect_success 'ref advertisment is filtered during fetch using protocol v2
|
|||||||
! grep "refs/tags/three" log
|
! grep "refs/tags/three" log
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'upload-pack respects config using protocol v2' '
|
||||||
|
git init server &&
|
||||||
|
write_script server/.git/hook <<-\EOF &&
|
||||||
|
touch hookout
|
||||||
|
"$@"
|
||||||
|
EOF
|
||||||
|
test_commit -C server one &&
|
||||||
|
|
||||||
|
test_config_global uploadpack.packobjectshook ./hook &&
|
||||||
|
test_path_is_missing server/.git/hookout &&
|
||||||
|
git -c protocol.version=2 clone "file://$(pwd)/server" client &&
|
||||||
|
test_path_is_file server/.git/hookout
|
||||||
|
'
|
||||||
|
|
||||||
# Test protocol v2 with 'http://' transport
|
# Test protocol v2 with 'http://' transport
|
||||||
#
|
#
|
||||||
. "$TEST_DIRECTORY"/lib-httpd.sh
|
. "$TEST_DIRECTORY"/lib-httpd.sh
|
||||||
|
@ -1376,6 +1376,8 @@ int upload_pack_v2(struct repository *r, struct argv_array *keys,
|
|||||||
enum fetch_state state = FETCH_PROCESS_ARGS;
|
enum fetch_state state = FETCH_PROCESS_ARGS;
|
||||||
struct upload_pack_data data;
|
struct upload_pack_data data;
|
||||||
|
|
||||||
|
git_config(upload_pack_config, NULL);
|
||||||
|
|
||||||
upload_pack_data_init(&data);
|
upload_pack_data_init(&data);
|
||||||
use_sideband = LARGE_PACKET_MAX;
|
use_sideband = LARGE_PACKET_MAX;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user