diff method

Future<String> diff({
  1. bool staged = false,
  2. String? path,
  3. String? commit1,
  4. String? commit2,
  5. String? workDir,
})

Returns the diff output as a raw string.

Implementation

Future<String> diff({
  bool staged = false,
  String? path,
  String? commit1,
  String? commit2,
  String? workDir,
}) async {
  final args = <String>['diff'];

  if (staged) args.add('--cached');
  if (commit1 != null) args.add(commit1);
  if (commit2 != null) args.add(commit2);
  if (path != null) {
    args.add('--');
    args.add(path);
  }

  final result = await _runGit(args, workDir: workDir ?? defaultWorkDir);
  return (result.stdout as String);
}