[flutter_plugin_tools] Adjust diff logging (#4312)

diff --git a/script/tool/lib/src/common/git_version_finder.dart b/script/tool/lib/src/common/git_version_finder.dart
index 2c9519e..a0a7a32 100644
--- a/script/tool/lib/src/common/git_version_finder.dart
+++ b/script/tool/lib/src/common/git_version_finder.dart
@@ -11,7 +11,7 @@
 /// Finding diffs based on `baseGitDir` and `baseSha`.
 class GitVersionFinder {
   /// Constructor
-  GitVersionFinder(this.baseGitDir, this.baseSha);
+  GitVersionFinder(this.baseGitDir, String? baseSha) : _baseSha = baseSha;
 
   /// The top level directory of the git repo.
   ///
@@ -19,7 +19,7 @@
   final GitDir baseGitDir;
 
   /// The base sha used to get diff.
-  final String? baseSha;
+  String? _baseSha;
 
   static bool _isPubspec(String file) {
     return file.trim().endsWith('pubspec.yaml');
@@ -32,10 +32,9 @@
 
   /// Get a list of all the changed files.
   Future<List<String>> getChangedFiles() async {
-    final String baseSha = await _getBaseSha();
+    final String baseSha = await getBaseSha();
     final io.ProcessResult changedFilesCommand = await baseGitDir
         .runCommand(<String>['diff', '--name-only', baseSha, 'HEAD']);
-    print('Determine diff with base sha: $baseSha');
     final String changedFilesStdout = changedFilesCommand.stdout.toString();
     if (changedFilesStdout.isEmpty) {
       return <String>[];
@@ -49,7 +48,7 @@
   /// at the revision of `gitRef` (defaulting to the base if not provided).
   Future<Version?> getPackageVersion(String pubspecPath,
       {String? gitRef}) async {
-    final String ref = gitRef ?? (await _getBaseSha());
+    final String ref = gitRef ?? (await getBaseSha());
 
     io.ProcessResult gitShow;
     try {
@@ -63,9 +62,11 @@
     return versionString == null ? null : Version.parse(versionString);
   }
 
-  Future<String> _getBaseSha() async {
-    if (baseSha != null && baseSha!.isNotEmpty) {
-      return baseSha!;
+  /// Returns the base used to diff against.
+  Future<String> getBaseSha() async {
+    String? baseSha = _baseSha;
+    if (baseSha != null && baseSha.isNotEmpty) {
+      return baseSha;
     }
 
     io.ProcessResult baseShaFromMergeBase = await baseGitDir.runCommand(
@@ -76,6 +77,8 @@
       baseShaFromMergeBase = await baseGitDir
           .runCommand(<String>['merge-base', 'FETCH_HEAD', 'HEAD']);
     }
-    return (baseShaFromMergeBase.stdout as String).trim();
+    baseSha = (baseShaFromMergeBase.stdout as String).trim();
+    _baseSha = baseSha;
+    return baseSha;
   }
 }
diff --git a/script/tool/lib/src/common/plugin_command.dart b/script/tool/lib/src/common/plugin_command.dart
index 514a90b..5d5cbd9 100644
--- a/script/tool/lib/src/common/plugin_command.dart
+++ b/script/tool/lib/src/common/plugin_command.dart
@@ -314,6 +314,9 @@
 
     if (runOnChangedPackages) {
       final GitVersionFinder gitVersionFinder = await retrieveVersionFinder();
+      final String baseSha = await gitVersionFinder.getBaseSha();
+      print(
+          'Running for all packages that have changed relative to "$baseSha"\n');
       final List<String> changedFiles =
           await gitVersionFinder.getChangedFiles();
       if (!_changesRequireFullTest(changedFiles)) {
diff --git a/script/tool/lib/src/publish_plugin_command.dart b/script/tool/lib/src/publish_plugin_command.dart
index 6da5170..769b9e8 100644
--- a/script/tool/lib/src/publish_plugin_command.dart
+++ b/script/tool/lib/src/publish_plugin_command.dart
@@ -159,6 +159,9 @@
   Stream<PackageEnumerationEntry> getPackagesToProcess() async* {
     if (getBoolArg(_allChangedFlag)) {
       final GitVersionFinder gitVersionFinder = await retrieveVersionFinder();
+      final String baseSha = await gitVersionFinder.getBaseSha();
+      print(
+          'Publishing all packages that have changed relative to "$baseSha"\n');
       final List<String> changedPubspecs =
           await gitVersionFinder.getChangedPubSpecs();
 
diff --git a/script/tool/test/common/plugin_command_test.dart b/script/tool/test/common/plugin_command_test.dart
index 3ef0d3b..13724e2 100644
--- a/script/tool/test/common/plugin_command_test.dart
+++ b/script/tool/test/common/plugin_command_test.dart
@@ -398,12 +398,19 @@
         ];
         final Directory plugin1 = createFakePlugin('plugin1', packagesDir);
         createFakePlugin('plugin2', packagesDir);
-        await runCapturingPrint(runner, <String>[
+        final List<String> output = await runCapturingPrint(runner, <String>[
           'sample',
           '--base-sha=master',
           '--run-on-changed-packages'
         ]);
 
+        expect(
+            output,
+            containsAllInOrder(<Matcher>[
+              contains(
+                  'Running for all packages that have changed relative to "master"'),
+            ]));
+
         expect(command.plugins, unorderedEquals(<String>[plugin1.path]));
       });
 
diff --git a/script/tool/test/publish_plugin_command_test.dart b/script/tool/test/publish_plugin_command_test.dart
index 2ea4fc7..14e99a1 100644
--- a/script/tool/test/publish_plugin_command_test.dart
+++ b/script/tool/test/publish_plugin_command_test.dart
@@ -466,6 +466,8 @@
       expect(
           output,
           containsAllInOrder(<Matcher>[
+            contains(
+                'Publishing all packages that have changed relative to "HEAD~"'),
             contains('Running `pub publish ` in ${pluginDir1.path}...'),
             contains('Running `pub publish ` in ${pluginDir2.path}...'),
             contains('plugin1 - \x1B[32mpublished\x1B[0m'),