diffFiles method
Implementation
Future<List<String>> diffFiles({
required List<String> diffArgs,
required String diffFilters,
}) async {
final result = await process.run('git', [
'diff',
...diffArgs,
if (diffFilters.isNotEmpty) '--diff-filter=$diffFilters',
'--name-only',
'-z',
]);
final out = result.stdout.trim();
final files =
out.split('\x00').where((element) => element.isNotEmpty).toList();
if (remoteName case final String remoteName
when files.isEmpty && diffArgs.contains('@{u}')) {
final currentBranch = await getCurrentBranch();
final upstream = '$remoteName/$currentBranch';
return diffFiles(
diffArgs: [
for (final arg in diffArgs)
if (arg == '@{u}') upstream else arg,
],
diffFilters: diffFilters,
);
}
return files;
}