When repos are added, new_refs_count will increase. But many repos are
not updated that day, that cause new_refs_count increase much more than real
new refs number.
Now only count those really new.
Signed-off-by: Li Yuanchao <lyc163mail(a)163.com>
---
lib/git_mirror.rb | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/lib/git_mirror.rb b/lib/git_mirror.rb
index 53c9e59..8f23af3 100644
--- a/lib/git_mirror.rb
+++ b/lib/git_mirror.rb
@@ -194,7 +194,7 @@ class MirrorMain
feedback_info[:new_refs] = new_refs
send_message(feedback_info)
- new_refs_log(git_repo, new_refs[:heads].length)
+ new_refs_log(git_repo, new_refs[:heads].length) if last_commit_new?(git_repo)
end
def do_push(fork_key)
@@ -327,7 +327,7 @@ class MirrorMain
def update_fork_stat(git_repo, possible_new_refs)
update_stat_fetch(git_repo)
- update_stat_new_refs(git_repo) if possible_new_refs
+ update_stat_new_refs(git_repo) if possible_new_refs && last_commit_new?(git_repo)
es_repo_update(git_repo)
end
end
@@ -521,4 +521,11 @@ class MirrorMain
nr_new_branch: nr_new_branch
}.to_json)
end
+
+ def last_commit_new?(git_repo)
+ inactive_time = %x(git -C /srv/git/#{@git_info[git_repo]['belong']}/#{git_repo}.git log --pretty=format:"%cr" -1)
+ return false if inactive_time =~ /(day|week|month|year)/
+
+ return true
+ end
end
--
2.23.0