blob: c1755f3d9c92d180e1473159ae53189ca0c49089 [file] [log] [blame] [edit]
// Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:io';
/// Runs `git` with [args] in the specified [workingDirectory].
///
/// Throws a [StateError] if it has a non-zero exit code.
Future<void> runGitCommand(
List<String> args,
Directory workingDirectory,
) async {
var result = await Process.run(
'git',
args,
workingDirectory: workingDirectory.path,
);
if (result.exitCode != 0) {
throw StateError('''
Error running `git ${args.join(' ')}`:
Stderr:
${result.stderr}
Stdout:
${result.stdout}''');
}
}