flutter_tools/version: git log.showSignature=false (#38576)
diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart index 61666df..5afa883 100644 --- a/packages/flutter_tools/lib/src/version.dart +++ b/packages/flutter_tools/lib/src/version.dart
@@ -20,7 +20,7 @@ class FlutterVersion { @visibleForTesting FlutterVersion([this._clock = const SystemClock()]) { - _frameworkRevision = _runGit('git log -n 1 --pretty=format:%H'); + _frameworkRevision = _runGit(gitLog(<String>['-n', '1', '--pretty=format:%H']).join(' ')); _frameworkVersion = GitTagVersion.determine().frameworkVersionFor(_frameworkRevision); } @@ -86,7 +86,7 @@ String _frameworkAge; String get frameworkAge { - return _frameworkAge ??= _runGit('git log -n 1 --pretty=format:%ar'); + return _frameworkAge ??= _runGit(gitLog(<String>['-n', '1', '--pretty=format:%ar']).join(' ')); } String _frameworkVersion; @@ -134,15 +134,13 @@ String get frameworkCommitDate => _latestGitCommitDate(); static String _latestGitCommitDate([ String branch ]) { - final List<String> args = <String>[ - 'git', - 'log', + final List<String> args = gitLog(<String>[ if (branch != null) branch, '-n', '1', '--pretty=format:%ad', '--date=iso', - ]; + ]); return _runSync(args, lenient: false); } @@ -332,6 +330,14 @@ } } + /// log.showSignature=false is a user setting and it will break things, + /// so we want to disable it for every git log call. This is a convenience + /// wrapper that does that. + @visibleForTesting + static List<String> gitLog(List<String> args) { + return <String>['git', '-c', 'log.showSignature=false', 'log'] + args; + } + @visibleForTesting static String versionOutOfDateMessage(Duration frameworkAge) { String warning = 'WARNING: your installation of Flutter is ${frameworkAge.inDays} days old.';