unsetHooksDir method

Future<bool> unsetHooksDir()

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 _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;
}