This is a repo-internal library for flutter/engine
, that contains shared code for writing tools that want to interact with the git
repository. For example, finding all changed files in the current branch:
import 'dart:io' as io show File, Platform;
import 'package:engine_repo_tools/engine_repo_tools.dart';
import 'package:git_repo_tools/git_repo_tools.dart';
import 'package:path/path.dart' as path;
void main() async {
// Finds the root of the engine repository from the current script.
final Engine engine = Engine.findWithin(path.dirname(path.fromUri(io.Platform.script)));
final GitRepo gitRepo = GitRepo(engine.flutterDir);
for (final io.File file in gitRepo.changedFiles) {
print('Changed file: ${file.path}');
}
}