From c7e58f832ac79073ef949b439ac2cd65f00da5bd Mon Sep 17 00:00:00 2001 From: Brian Quinlan Date: Mon, 16 Mar 2026 13:28:10 -0700 Subject: [PATCH] [tools] make rev_sdk_deps.dart work with packaged references third_party/pkg/protobuf (and possibly others) uses a compressed reference file (.git/packed-refs) rather than the .git/refs/heads/(master|main) file expected by rev_sdk_deps.dart. modify rev_sdk_deps.dart to use "git show-ref --verify refs/remotes/origin/main" instead. TEST: I ran the script and it produced the expected commit hashes for both a package that uses a "main" default branch and a "master" default branch. Change-Id: Ibe2ec2cf368d859ca78d1873f287722eb73e481b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/488262 Reviewed-by: Ryan Macnak Commit-Queue: Brian Quinlan --- tools/rev_sdk_deps.dart | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/tools/rev_sdk_deps.dart b/tools/rev_sdk_deps.dart index c34143ff761..fa0790c7922 100644 --- a/tools/rev_sdk_deps.dart +++ b/tools/rev_sdk_deps.dart @@ -201,19 +201,16 @@ class GitHelper { } String get defaultBranchName { - var branchNames = Directory(path.join(dir, '.git', 'refs', 'heads')) - .listSync() - .whereType() - .map((f) => path.basename(f.path)) - .toSet(); - - for (var name in ['main', 'master']) { - if (branchNames.contains(name)) { - return name; - } + if (Process.runSync( + 'git', + ['show-ref', '--verify', '--quiet', 'refs/remotes/origin/main'], + workingDirectory: dir, + ).exitCode == + 0) { + return 'main'; + } else { + return 'master'; } - - return 'main'; } }