runGitInit function
Future<GitInitOutcome>
runGitInit({
- required String canonicalDestination,
- required ProcessRunner processRunner,
Implementation
Future<GitInitOutcome> runGitInit({
required String canonicalDestination,
required ProcessRunner processRunner,
}) async {
final existing = await processRunner.run('git', const [
'rev-parse',
'--is-inside-work-tree',
], workingDirectory: canonicalDestination);
if (existing.exitCode == 0 && existing.stdout.toString().trim() == 'true') {
return const GitInitOutcome(
skipped: true,
ranInit: false,
failed: false,
output: 'Already a repository; git init skipped.',
);
}
final result = await processRunner.run('git', const [
'init',
], workingDirectory: canonicalDestination);
return GitInitOutcome(
skipped: false,
ranInit: true,
failed: result.exitCode != 0,
exitCode: result.exitCode,
output: '${result.stdout}${result.stderr}',
);
}