| Index: sdk/lib/_internal/pub_generated/lib/src/source/git.dart
|
| diff --git a/sdk/lib/_internal/pub_generated/lib/src/source/git.dart b/sdk/lib/_internal/pub_generated/lib/src/source/git.dart
|
| index 18b4954f17016b0718fa38a4eff6a4d0271b2b7b..abf8125b3155af12ac842e061b37744e2a33c7cd 100644
|
| --- a/sdk/lib/_internal/pub_generated/lib/src/source/git.dart
|
| +++ b/sdk/lib/_internal/pub_generated/lib/src/source/git.dart
|
| @@ -117,14 +117,36 @@ class GitSource extends CachedSource {
|
| return description;
|
| }
|
|
|
| + /// If [description] has a resolved ref, print it out in short-form.
|
| + ///
|
| + /// This helps distinguish different git commits with the same pubspec
|
| + /// version.
|
| + String formatDescription(String containingPath, description) {
|
| + if (description is Map && description.containsKey('resolved-ref')) {
|
| + return "${description['url']} at "
|
| + "${description['resolved-ref'].substring(0, 6)}";
|
| + } else {
|
| + return super.formatDescription(containingPath, description);
|
| + }
|
| + }
|
| +
|
| /// Two Git descriptions are equal if both their URLs and their refs are
|
| /// equal.
|
| bool descriptionsEqual(description1, description2) {
|
| // TODO(nweiz): Do we really want to throw an error if you have two
|
| // dependencies on some repo, one of which specifies a ref and one of which
|
| // doesn't? If not, how do we handle that case in the version solver?
|
| - return _getUrl(description1) == _getUrl(description2) &&
|
| - _getRef(description1) == _getRef(description2);
|
| + if (_getUrl(description1) != _getUrl(description2)) return false;
|
| + if (_getRef(description1) != _getRef(description2)) return false;
|
| +
|
| + if (description1 is Map &&
|
| + description1.containsKey('resolved-ref') &&
|
| + description2 is Map &&
|
| + description2.containsKey('resolved-ref')) {
|
| + return description1['resolved-ref'] == description2['resolved-ref'];
|
| + }
|
| +
|
| + return true;
|
| }
|
|
|
| /// Attaches a specific commit to [id] to disambiguate it.
|
|
|