dependabot-common 0.219.0 → 0.220.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9de5ea53359451b6552e39b450ef6c53c46d0d99becf02b15949e3af086f7ed8
4
- data.tar.gz: aca210e308541379b560262139f618c9721ae905835607fe46425d1b4e702a5d
3
+ metadata.gz: ffac7b072d3084a0eaa087c7bf4cdf6bf8f180a7312a55bd99fd5648320bb38f
4
+ data.tar.gz: af8cb21616a02e1a3368ae839f591fd2dfed3154bd4b138fe13843447f9306d6
5
5
  SHA512:
6
- metadata.gz: a9c643d8050004fe119010919e4b6a08842ef454055332e4ca14c23f6398c05955d990d17e4d8e60f626a181eae4cb3dc8eab911c06752064de08ebcc88ff3e0
7
- data.tar.gz: c7bfe1aad5c0231e4a02cb0003a83f133ad82e59cedc035aee9dc3f7ce4d1abbc5d133cd97be54a90c30171b34fc8ca51189fbc92a9d37f1f5ac37896c2c9b56
6
+ metadata.gz: 3073fb55361f0b46820a01071dc35e14fa91bdbbe653cd581256dde2889df9abeef87bd6787d5c32fd619aaa728736db98116dce9ca357d132e7814941f949dd
7
+ data.tar.gz: 3a1c6297dcd5425c3838550486066ece3ca2f89f7d1386adc0fa29e1afa681d17a0c30ed8fe987c672e25727af75319e072e1db4668fed0d35b4f4220457fdb9
@@ -21,7 +21,7 @@ module Dependabot
21
21
  # fixed-length name, so we can punt on handling truncation until
22
22
  # we determine the strict validation rules for names
23
23
  def new_branch_name
24
- File.join(prefixes, timestamped_group_name).gsub("/", separator)
24
+ File.join(prefixes, group_name_with_dependency_digest).gsub("/", separator)
25
25
  end
26
26
 
27
27
  private
@@ -37,11 +37,20 @@ module Dependabot
37
37
  ].compact
38
38
  end
39
39
 
40
- # When superseding a grouped update pull request, we will have a period
41
- # of time when there are two branches for the group so we use a timestamp
42
- # to avoid collisions.
43
- def timestamped_group_name
44
- "#{dependency_group.name}-#{Time.now.utc.to_i}"
40
+ # Group pull requests will generally include too many dependencies to include
41
+ # in the branch name, but we rely on branch names being deterministic for a
42
+ # given set of dependency changes.
43
+ #
44
+ # Let's append a short hash digest of the dependency changes so that we can
45
+ # meet this guarantee.
46
+ def group_name_with_dependency_digest
47
+ "#{dependency_group.name}-#{dependency_digest}"
48
+ end
49
+
50
+ def dependency_digest
51
+ @dependency_digest ||= Digest::MD5.hexdigest(dependencies.map do |dependency|
52
+ "#{dependency.name}-#{dependency.removed? ? 'removed' : dependency.version}"
53
+ end.sort.join(",")).slice(0, 10)
45
54
  end
46
55
 
47
56
  def package_manager
data/lib/dependabot.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dependabot
4
- VERSION = "0.219.0"
4
+ VERSION = "0.220.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-common
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.219.0
4
+ version: 0.220.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
@@ -508,7 +508,7 @@ licenses:
508
508
  - Nonstandard
509
509
  metadata:
510
510
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
511
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.219.0
511
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.220.0
512
512
  post_install_message:
513
513
  rdoc_options: []
514
514
  require_paths: