diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-06-28 22:53:30 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-06-28 22:53:30 +0300 |
commit | 92e1bbc33472d5389d5933f39d37da58e7e03053 (patch) | |
tree | d2086dfd9fb25c8f62df570a12deda1c395bdf55 | |
parent | 078f3dc0ce9aa113ce77cfeb5e9c11b4eaa97dfe (diff) | |
parent | cac1137dc4908b03642ee10c45eb687feb9335c1 (diff) |
Merge branch 'jh/partial-clone'
The recent addition of "partial clone" experimental feature kicked
in when it shouldn't, namely, when there is no partial-clone filter
defined even if extensions.partialclone is set.
* jh/partial-clone:
list-objects: check if filter is NULL before using
-rw-r--r-- | list-objects-filter-options.c | 2 | ||||
-rwxr-xr-x | t/t0410-partial-clone.sh | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/list-objects-filter-options.c b/list-objects-filter-options.c index 6a3cc985c4..c0e2bd6a06 100644 --- a/list-objects-filter-options.c +++ b/list-objects-filter-options.c @@ -146,6 +146,8 @@ void partial_clone_get_default_filter_spec( /* * Parse default value, but silently ignore it if it is invalid. */ + if (!core_partial_clone_filter_default) + return; gently_parse_list_objects_filter(filter_options, core_partial_clone_filter_default, NULL); diff --git a/t/t0410-partial-clone.sh b/t/t0410-partial-clone.sh index cc18b75c03..4984ca583d 100755 --- a/t/t0410-partial-clone.sh +++ b/t/t0410-partial-clone.sh @@ -23,7 +23,15 @@ promise_and_delete () { delete_object repo "$HASH" } +test_expect_success 'extensions.partialclone without filter' ' + test_create_repo server && + git clone --filter="blob:none" "file://$(pwd)/server" client && + git -C client config --unset core.partialclonefilter && + git -C client fetch origin +' + test_expect_success 'missing reflog object, but promised by a commit, passes fsck' ' + rm -rf repo && test_create_repo repo && test_commit -C repo my_commit && |