#!/bin/sh # # Copyright (c) 2025 Google LLC # test_description=':(optional) paths' . ./test-lib.sh test_expect_success 'var=:(optional)path-exists' ' test_config a.path ":(optional)path-exists" && >path-exists && echo path-exists >expect && git config get --path a.path >actual && test_cmp expect actual ' test_expect_success 'missing optional value is ignored' ' test_config a.path ":(optional)no-such-path" && # Using --show-scope ensures we skip writing not only the value # but also any meta-information about the ignored key. test_must_fail git config get --show-scope --path a.path >actual && test_line_count = 0 actual ' test_expect_success 'missing optional value is ignored in multi-value config' ' test_when_finished "git config unset --all a.path" && git config set --append a.path ":(optional)path-exists" && git config set --append a.path ":(optional)no-such-path" && >path-exists && echo path-exists >expect && git config --get --path a.path >actual && test_cmp expect actual ' test_done