Re: [PATCH v5 1/3] builtin/config: introduce `--default`
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Apr 7, 2018, 08:44 UTC
- Message-ID
- <CAPig+cSZPrnCuqZ0JG2hKqQEqYT6qYoGEzy4Une3GOo6hX_LCg@mail.gmail.com>
- In-Reply-To
- <20180407005837.GD78042@syl.local>
On Fri, Apr 6, 2018 at 8:58 PM, Taylor Blau <me@ttaylorr.com> wrote:
Show 17 quoted lines
> On Fri, Apr 06, 2018 at 03:40:56AM -0400, Eric Sunshine wrote: >> On Fri, Apr 6, 2018 at 2:53 AM, Eric Sunshine <sunshine@sunshineco.com> wrote: >> One other issue. If "git config --default ..." fails, the --unset line >> will never be invoked, thus cleanup won't happen. >> >> To ensure cleanup, either use: >> >> test_when_finished "git config --unset core.foo" && >> >> earlier in the test (just after the --add line) or use the >> test_config() function to both set the value and ensure its cleanup. > > Neat. I wasn't aware of 'test_when_finished'. I think that I prefer the > explicitness of 'test_when_finished "git config ..."' over > 'test_config()', but I am happy to use whichever is preferred. Since > t1310 is new, there's no historical precedent to follow. Please let me > know if you have a preference one way or another.
test_config() is preferred; not only is it shorter but, because it automates cleanup, there's less opportunity to screw up (like forgetting to use test_when_finished()).
However, since this config setting needs to be present for only a single command, you can go even simpler by collapsing the entire test to:
test_expect_success 'does not use --default when entry present' '
echo bar >expect &&
git -c core.foo=bar config --default baz core.foo >actual &&
test_cmp expect actual
'