rubocops/patches: GitLab patches should use .diff
Only `.diff` URLs return output comparable to the diffs from `git diff --full-index`. While the extra metadata from `.patch` is nice, the instability of the patch contents is undesirable. Co-Authored-By: Carlo Cabrera <30379873+carlocab@users.noreply.github.com>
This commit is contained in:
parent
4a608a7ac6
commit
ef1e07b88b
@ -56,8 +56,10 @@ module RuboCop
|
|||||||
problem "GitHub patches should end with .patch, not .diff: #{patch_url}"
|
problem "GitHub patches should end with .patch, not .diff: #{patch_url}"
|
||||||
end
|
end
|
||||||
|
|
||||||
if regex_match_group(patch_url_node, %r{.*gitlab.*/commit/[a-fA-F0-9]*\.diff})
|
# Only .diff passes `--full-index` to `git diff` and there is no documented way
|
||||||
problem "GitLab patches should end with .patch, not .diff: #{patch_url}"
|
# to get .patch to behave the same for GitLab.
|
||||||
|
if regex_match_group(patch_url_node, %r{.*gitlab.*/commit/[a-fA-F0-9]*\.patch})
|
||||||
|
problem "GitLab patches should end with .diff, not .patch: #{patch_url}"
|
||||||
end
|
end
|
||||||
|
|
||||||
gh_patch_param_pattern = %r{https?://github\.com/.+/.+/(?:commit|pull)/[a-fA-F0-9]*.(?:patch|diff)}
|
gh_patch_param_pattern = %r{https?://github\.com/.+/.+/(?:commit|pull)/[a-fA-F0-9]*.(?:patch|diff)}
|
||||||
|
|||||||
@ -181,7 +181,7 @@ describe RuboCop::Cop::FormulaAudit::Patches do
|
|||||||
"https://github.com/uber/h3/pull/362.patch?full_index=1",
|
"https://github.com/uber/h3/pull/362.patch?full_index=1",
|
||||||
"https://gitlab.gnome.org/GNOME/gitg/-/merge_requests/142.diff",
|
"https://gitlab.gnome.org/GNOME/gitg/-/merge_requests/142.diff",
|
||||||
"https://github.com/michaeldv/pit/commit/f64978d.diff?full_index=1",
|
"https://github.com/michaeldv/pit/commit/f64978d.diff?full_index=1",
|
||||||
"https://gitlab.gnome.org/GNOME/msitools/commit/248450a.diff",
|
"https://gitlab.gnome.org/GNOME/msitools/commit/248450a.patch",
|
||||||
]
|
]
|
||||||
patch_urls.each do |patch_url|
|
patch_urls.each do |patch_url|
|
||||||
source = <<~RUBY
|
source = <<~RUBY
|
||||||
@ -225,7 +225,7 @@ describe RuboCop::Cop::FormulaAudit::Patches do
|
|||||||
EOS
|
EOS
|
||||||
elsif patch_url.match?(%r{.*gitlab.*/commit/})
|
elsif patch_url.match?(%r{.*gitlab.*/commit/})
|
||||||
expect_offense_hash message: <<~EOS.chomp, severity: :convention, line: 5, column: 8, source: source
|
expect_offense_hash message: <<~EOS.chomp, severity: :convention, line: 5, column: 8, source: source
|
||||||
GitLab patches should end with .patch, not .diff: #{patch_url}
|
GitLab patches should end with .diff, not .patch: #{patch_url}
|
||||||
EOS
|
EOS
|
||||||
# rubocop:disable Layout/LineLength
|
# rubocop:disable Layout/LineLength
|
||||||
elsif patch_url.match?(%r{https?://patch-diff\.githubusercontent\.com/raw/(.+)/(.+)/pull/(.+)\.(?:diff|patch)})
|
elsif patch_url.match?(%r{https?://patch-diff\.githubusercontent\.com/raw/(.+)/(.+)/pull/(.+)\.(?:diff|patch)})
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user