unsetHooksDir method
Unsets core.hooksPath so Git falls back to .git/hooks.
Exit code 5 means the key was not set — treated as success.
Implementation
Future<bool> unsetHooksDir() async {
final result = await process.run('git', [
'config',
'--local',
'--unset',
'core.hooksPath',
]);
final code = result.exitCode;
if (code != 0 && code != 5) {
logger
..err('Failed to unset hooks directory')
..detail('Error: ${result.stderr}');
return false;
}
return true;
}