diff options
author | Jonathan Tan <jonathantanmy@google.com> | 2018-06-12 00:51:26 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-06-12 20:46:56 +0300 |
commit | cac1137dc4908b03642ee10c45eb687feb9335c1 (patch) | |
tree | 8d9376384f99480bcde3a8d6c46f59fea1a00c11 | |
parent | c7620bd0f35dddf8b8519da6fbf97014f46d0710 (diff) |
list-objects: check if filter is NULL before using
In partial_clone_get_default_filter_spec(), the
core_partial_clone_filter_default variable may be NULL; ensure that it
is not NULL before using it.
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-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 && |