diff --git a/dev/bots/prepare_package.dart b/dev/bots/prepare_package.dart index 9f33a22cc3..c46255742c 100644 --- a/dev/bots/prepare_package.dart +++ b/dev/bots/prepare_package.dart @@ -602,7 +602,7 @@ class ArchiveCreator { Future _runGit(List args, {Directory? workingDirectory}) { return _processRunner.runProcess( - ['git', ...args], + ['git', '--git-dir', '.git', ...args], workingDirectory: workingDirectory ?? flutterRoot, ); } diff --git a/packages/flutter_tools/lib/src/commands/downgrade.dart b/packages/flutter_tools/lib/src/commands/downgrade.dart index a58b75c009..02da0daeb7 100644 --- a/packages/flutter_tools/lib/src/commands/downgrade.dart +++ b/packages/flutter_tools/lib/src/commands/downgrade.dart @@ -120,7 +120,7 @@ class DowngradeCommand extends FlutterCommand { // Detect unknown versions. final ProcessUtils processUtils = _processUtils!; final RunResult parseResult = await processUtils.run([ - 'git', 'describe', '--tags', lastFlutterVersion, + 'git', '--git-dir', '.git', 'describe', '--tags', lastFlutterVersion, ], workingDirectory: workingDirectory); if (parseResult.exitCode != 0) { throwToolExit('Failed to parse version for downgrade:\n${parseResult.stderr}'); @@ -192,7 +192,7 @@ class DowngradeCommand extends FlutterCommand { continue; } final RunResult parseResult = await _processUtils!.run([ - 'git', 'describe', '--tags', sha, + 'git', '--git-dir', '.git', 'describe', '--tags', sha, ], workingDirectory: workingDirectory); if (parseResult.exitCode == 0) { buffer.writeln('Channel "${getNameForChannel(channel)}" was previously on: ${parseResult.stdout}.'); diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart index 0702b35e7e..36b2a95b65 100644 --- a/packages/flutter_tools/lib/src/version.dart +++ b/packages/flutter_tools/lib/src/version.dart @@ -407,7 +407,7 @@ abstract class FlutterVersion { /// wrapper that does that. @visibleForTesting static List gitLog(List args) { - return ['git', '-c', 'log.showSignature=false', 'log'] + args; + return ['git', '--git-dir','.git', '-c', 'log.showSignature=false', 'log'] + args; } } @@ -559,7 +559,7 @@ class _FlutterVersionGit extends FlutterVersion { String? get repositoryUrl { if (_repositoryUrl == null) { final String gitChannel = _runGit( - 'git rev-parse --abbrev-ref --symbolic $kGitTrackingUpstream', + 'git --git-dir .git rev-parse --abbrev-ref --symbolic $kGitTrackingUpstream', globals.processUtils, flutterRoot, ); @@ -567,7 +567,7 @@ class _FlutterVersionGit extends FlutterVersion { if (slash != -1) { final String remote = gitChannel.substring(0, slash); _repositoryUrl = _runGit( - 'git ls-remote --get-url $remote', + 'git --git-dir .git ls-remote --get-url $remote', globals.processUtils, flutterRoot, ); @@ -952,7 +952,7 @@ class GitTagVersion { } // find all tags attached to the given [gitRef] final List tags = _runGit( - 'git tag --points-at $gitRef', processUtils, workingDirectory).trim().split('\n'); + 'git --git-dir .git tag --points-at $gitRef', processUtils, workingDirectory).trim().split('\n'); // Check first for a stable tag final RegExp stableTagPattern = RegExp(r'^\d+\.\d+\.\d+$'); @@ -973,7 +973,7 @@ class GitTagVersion { // recent tag and number of commits past. return parse( _runGit( - 'git describe --match *.*.* --long --tags $gitRef', + 'git --git-dir .git describe --match *.*.* --long --tags $gitRef', processUtils, workingDirectory, )