renovate/lib/util/git/config.ts

35 lines
991 B
TypeScript
Raw Normal View History

import is from '@sindresorhus/is';
import type { SimpleGitOptions } from 'simple-git';
2022-04-17 11:12:42 -06:00
import { GlobalConfig } from '../../config/global';
import type { GitNoVerifyOption } from './types';
let noVerify: GitNoVerifyOption[] = ['push', 'commit'];
export function setNoVerify(value: GitNoVerifyOption[]): void {
2022-02-09 08:48:51 -07:00
// istanbul ignore if
if (!is.array(value, is.string)) {
throw new Error('config error: gitNoVerify should be an array of strings');
}
noVerify = value;
}
export function getNoVerify(): GitNoVerifyOption[] {
return noVerify;
}
export function simpleGitConfig(): Partial<SimpleGitOptions> {
const config: Partial<SimpleGitOptions> = {
completion: {
onClose: true,
onExit: false,
},
config: ['core.quotePath=false'],
};
// https://github.com/steveukx/git-js/pull/591
const gitTimeout = GlobalConfig.get('gitTimeout');
if (is.number(gitTimeout) && gitTimeout > 0) {
config.timeout = { block: gitTimeout };
}
return config;
}