Merge branch 'ps/maintenance-start-crash-fix'
"git maintenance start" crashed due to an uninitialized variable reference, which has been corrected. * ps/maintenance-start-crash-fix: builtin/gc: fix crash when running `git maintenance start`
This commit is contained in:
@ -1832,7 +1832,7 @@ static const char *get_extra_launchctl_strings(void) {
|
||||
* | Input | Output |
|
||||
* | *cmd | return code | *out | *is_available |
|
||||
* +-------+-------------+-------------------+---------------+
|
||||
* | "foo" | false | NULL | (unchanged) |
|
||||
* | "foo" | false | "foo" (allocated) | (unchanged) |
|
||||
* +-------+-------------+-------------------+---------------+
|
||||
*
|
||||
* GIT_TEST_MAINT_SCHEDULER set to “foo:./mock_foo.sh,bar:./mock_bar.sh”
|
||||
@ -1850,8 +1850,11 @@ static int get_schedule_cmd(const char *cmd, int *is_available, char **out)
|
||||
struct string_list_item *item;
|
||||
struct string_list list = STRING_LIST_INIT_NODUP;
|
||||
|
||||
if (!testing)
|
||||
if (!testing) {
|
||||
if (out)
|
||||
*out = xstrdup(cmd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (is_available)
|
||||
*is_available = 0;
|
||||
|
@ -646,6 +646,22 @@ test_expect_success !MINGW 'register and unregister with regex metacharacters' '
|
||||
maintenance.repo "$(pwd)/$META"
|
||||
'
|
||||
|
||||
test_expect_success 'start without GIT_TEST_MAINT_SCHEDULER' '
|
||||
test_when_finished "rm -rf systemctl.log script repo" &&
|
||||
mkdir script &&
|
||||
write_script script/systemctl <<-\EOF &&
|
||||
echo "$*" >>../systemctl.log
|
||||
EOF
|
||||
git init repo &&
|
||||
(
|
||||
cd repo &&
|
||||
sane_unset GIT_TEST_MAINT_SCHEDULER &&
|
||||
PATH="$PWD/../script:$PATH" git maintenance start --scheduler=systemd
|
||||
) &&
|
||||
test_grep -- "--user list-timers" systemctl.log &&
|
||||
test_grep -- "enable --now git-maintenance@" systemctl.log
|
||||
'
|
||||
|
||||
test_expect_success 'start --scheduler=<scheduler>' '
|
||||
test_expect_code 129 git maintenance start --scheduler=foo 2>err &&
|
||||
test_grep "unrecognized --scheduler argument" err &&
|
||||
|
Reference in New Issue
Block a user