dependabot-common 0.219.0 → 0.220.0

Sign up to get free protection for your applications and to get access to all the features.
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: