hasAtLeastOneCommit method

Future<bool> hasAtLeastOneCommit()

Implementation

Future<bool> hasAtLeastOneCommit() async {
  final result = await process('git', ['rev-list', '--count', 'HEAD']);
  final exitCode = await result.exitCode;

  if (exitCode != 0) {
    logger
      ..err('Failed to get commit count')
      ..detail('Error: ${result.stderr}');
    return false;
  }

  final out = switch (result.stdout) {
    final String out => out.trim(),
    final Future<String> out => (await out).trim(),
  };

  final count = int.tryParse(out);

  return count != null && count > 0;
}