Add audit check to see if both version and checksum changed.

This commit is contained in:
Markus Reiter
2017-05-22 02:01:57 +02:00
parent 6d8c170e50
commit 1a96dc39d1
4 changed files with 59 additions and 8 deletions
+28
View File
@@ -1,3 +1,31 @@
require "open3"
module Git
module_function
def last_revision_commit_of_file(repo, file, before_commit: nil)
args = [before_commit.nil? ? "--skip=1" : before_commit.split("..").first]
out, = Open3.capture3(
HOMEBREW_SHIMS_PATH/"scm/git", "-C", repo,
"log", "--oneline", "--max-count=1", *args, "--", file
)
out.split(" ").first
end
def last_revision_of_file(repo, file, before_commit: nil)
relative_file = Pathname(file).relative_path_from(repo)
commit_hash = last_revision_commit_of_file(repo, file, before_commit: before_commit)
out, = Open3.capture3(
HOMEBREW_SHIMS_PATH/"scm/git", "-C", repo,
"show", "#{commit_hash}:#{relative_file}"
)
out
end
end
module Utils
def self.git_available?
return @git if instance_variable_defined?(:@git)