@@ -11,15 +11,15 @@ import 'package:yaml/yaml.dart';
1111/// Finding diffs based on `baseGitDir` and `baseSha` .
1212class GitVersionFinder {
1313 /// Constructor
14- GitVersionFinder (this .baseGitDir, this . baseSha);
14+ GitVersionFinder (this .baseGitDir, String ? baseSha) : _baseSha = baseSha ;
1515
1616 /// The top level directory of the git repo.
1717 ///
1818 /// That is where the .git/ folder exists.
1919 final GitDir baseGitDir;
2020
2121 /// The base sha used to get diff.
22- final String ? baseSha ;
22+ String ? _baseSha ;
2323
2424 static bool _isPubspec (String file) {
2525 return file.trim ().endsWith ('pubspec.yaml' );
@@ -32,10 +32,9 @@ class GitVersionFinder {
3232
3333 /// Get a list of all the changed files.
3434 Future <List <String >> getChangedFiles () async {
35- final String baseSha = await _getBaseSha ();
35+ final String baseSha = await getBaseSha ();
3636 final io.ProcessResult changedFilesCommand = await baseGitDir
3737 .runCommand (< String > ['diff' , '--name-only' , baseSha, 'HEAD' ]);
38- print ('Determine diff with base sha: $baseSha ' );
3938 final String changedFilesStdout = changedFilesCommand.stdout.toString ();
4039 if (changedFilesStdout.isEmpty) {
4140 return < String > [];
@@ -49,7 +48,7 @@ class GitVersionFinder {
4948 /// at the revision of `gitRef` (defaulting to the base if not provided).
5049 Future <Version ?> getPackageVersion (String pubspecPath,
5150 {String ? gitRef}) async {
52- final String ref = gitRef ?? (await _getBaseSha ());
51+ final String ref = gitRef ?? (await getBaseSha ());
5352
5453 io.ProcessResult gitShow;
5554 try {
@@ -63,9 +62,11 @@ class GitVersionFinder {
6362 return versionString == null ? null : Version .parse (versionString);
6463 }
6564
66- Future <String > _getBaseSha () async {
67- if (baseSha != null && baseSha! .isNotEmpty) {
68- return baseSha! ;
65+ /// Returns the base used to diff against.
66+ Future <String > getBaseSha () async {
67+ String ? baseSha = _baseSha;
68+ if (baseSha != null && baseSha.isNotEmpty) {
69+ return baseSha;
6970 }
7071
7172 io.ProcessResult baseShaFromMergeBase = await baseGitDir.runCommand (
@@ -76,6 +77,8 @@ class GitVersionFinder {
7677 baseShaFromMergeBase = await baseGitDir
7778 .runCommand (< String > ['merge-base' , 'FETCH_HEAD' , 'HEAD' ]);
7879 }
79- return (baseShaFromMergeBase.stdout as String ).trim ();
80+ baseSha = (baseShaFromMergeBase.stdout as String ).trim ();
81+ _baseSha = baseSha;
82+ return baseSha;
8083 }
8184}
0 commit comments