gitlab-org--gitlab-foss/scripts/lint-rugged

26 lines
707 B
Plaintext
Raw Normal View History

2018-01-23 17:42:10 +00:00
#!/usr/bin/env ruby
ALLOWED = [
# Needed to handle repositories that are not in any storage
2018-01-23 17:42:10 +00:00
'lib/gitlab/bare_repository_import/repository.rb',
2018-07-17 13:12:29 +00:00
# Needed to avoid using the git binary to validate a branch name
'lib/gitlab/git_ref_validator.rb'
2018-01-23 17:42:10 +00:00
].freeze
rugged_lines = IO.popen(%w[git grep -i -n rugged -- app config lib], &:read).lines
rugged_lines = rugged_lines.select { |l| /^[^:]*\.rb:/ =~ l }
2018-01-23 17:42:10 +00:00
rugged_lines = rugged_lines.reject { |l| l.start_with?(*ALLOWED) }
rugged_lines = rugged_lines.reject do |line|
code, _comment = line.split('# ', 2)
code !~ /rugged/i
end
exit if rugged_lines.empty?
puts "Using Rugged is only allowed in test and #{ALLOWED}\n\n"
puts rugged_lines
exit(false)