diff --git a/lib/oxidized/output/git.rb b/lib/oxidized/output/git.rb index f9836493f..fe3722b53 100644 --- a/lib/oxidized/output/git.rb +++ b/lib/oxidized/output/git.rb @@ -156,6 +156,13 @@ def self.update_cache(repo_path) end repo = Rugged::Repository.new repo_path + + # Early exit if repo not changed since cached + current_head = repo.head.target.oid + if current_head == @gitcache[repo_path][:last_commit] + Oxidized.logger.debug { "git.update_cache hit, skipping walker for #{repo_path}" } + return + end walker = Rugged::Walker.new(repo) walker.sorting(Rugged::SORT_DATE)