getRootCommit static method

Future<String?> getRootCommit(
  1. String? root
)

Implementation

static Future<String?> getRootCommit(String? root) async {
  try {
    final result = await Process.run('git', ['rev-list', '--max-parents=0', 'HEAD'], workingDirectory: root);
    if (result.exitCode != 0) {
      return null;
    }
    final commits = result.stdout.toString().trim().split('\n').where((line) => line.isNotEmpty);
    return commits.isEmpty ? null : commits.first;
  } catch (e) {
    logger.detail('Error retrieving root commit: $e');
    return null;
  }
}