about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/compilers/flutter/patches/flutter3/git-dir.patch
blob: 42ad756f8ea4b9b517235e8572fb5e6a1f9e70a4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
diff --git a/dev/bots/prepare_package.dart b/dev/bots/prepare_package.dart
index 8e4cb81340..2c20940423 100644
--- a/dev/bots/prepare_package.dart
+++ b/dev/bots/prepare_package.dart
@@ -526,7 +526,7 @@ class ArchiveCreator {
 
   Future<String> _runGit(List<String> args, {Directory? workingDirectory}) {
     return _processRunner.runProcess(
-      <String>['git', ...args],
+      <String>['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 666c190067..b6c3761f6f 100644
--- a/packages/flutter_tools/lib/src/commands/downgrade.dart
+++ b/packages/flutter_tools/lib/src/commands/downgrade.dart
@@ -118,7 +118,7 @@ class DowngradeCommand extends FlutterCommand {
     // Detect unknown versions.
     final ProcessUtils processUtils = _processUtils!;
     final RunResult parseResult = await processUtils.run(<String>[
-      '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}');
@@ -191,7 +191,7 @@ class DowngradeCommand extends FlutterCommand {
         continue;
       }
       final RunResult parseResult = await _processUtils!.run(<String>[
-        '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 dc47f17057..8068e2d1f5 100644
--- a/packages/flutter_tools/lib/src/version.dart
+++ b/packages/flutter_tools/lib/src/version.dart
@@ -111,7 +111,7 @@ class FlutterVersion {
     String? channel = _channel;
     if (channel == null) {
       final String gitChannel = _runGit(
-        'git rev-parse --abbrev-ref --symbolic $kGitTrackingUpstream',
+        'git --git-dir .git rev-parse --abbrev-ref --symbolic $kGitTrackingUpstream',
         globals.processUtils,
         _workingDirectory,
       );
@@ -119,7 +119,7 @@ class 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,
           _workingDirectory,
         );
@@ -298,7 +298,7 @@ class FlutterVersion {
   /// the branch name will be returned as `'[user-branch]'`.
   String getBranchName({ bool redactUnknownBranches = false }) {
     _branch ??= () {
-      final String branch = _runGit('git rev-parse --abbrev-ref HEAD', globals.processUtils);
+      final String branch = _runGit('git --git-dir .git rev-parse --abbrev-ref HEAD', globals.processUtils);
       return branch == 'HEAD' ? channel : branch;
     }();
     if (redactUnknownBranches || _branch!.isEmpty) {
@@ -331,7 +331,7 @@ class FlutterVersion {
   /// wrapper that does that.
   @visibleForTesting
   static List<String> gitLog(List<String> args) {
-    return <String>['git', '-c', 'log.showSignature=false', 'log'] + args;
+    return <String>['git', '-c', 'log.showSignature=false', '--git-dir', '.git', 'log'] + args;
   }
 
   /// Gets the release date of the latest available Flutter version.
@@ -708,7 +708,7 @@ class GitTagVersion {
     String gitRef = 'HEAD'
   }) {
     if (fetchTags) {
-      final String channel = _runGit('git rev-parse --abbrev-ref HEAD', processUtils, workingDirectory);
+      final String channel = _runGit('git --git-dir .git rev-parse --abbrev-ref HEAD', processUtils, workingDirectory);
       if (channel == 'dev' || channel == 'beta' || channel == 'stable') {
         globals.printTrace('Skipping request to fetchTags - on well known channel $channel.');
       } else {
@@ -718,7 +718,7 @@ class GitTagVersion {
     }
     // find all tags attached to the given [gitRef]
     final List<String> 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+$');
@@ -739,7 +739,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,
       )