DEFAULTS files are used by many files in the inner directory, so when
DEFAULTS files change, those inner files should also be reload.
Signed-off-by: Li Yuanchao <lyc163mail(a)163.com>
---
lib/git_mirror.rb | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/lib/git_mirror.rb b/lib/git_mirror.rb
index bad73d5..bb0c9f9 100644
--- a/lib/git_mirror.rb
+++ b/lib/git_mirror.rb
@@ -285,10 +285,11 @@ class MirrorMain
def reload(file_list, belong)
system("git -C #{REPO_DIR}/#{belong} pull")
+ reload_defaults(file_list, belong)
file_list.each_line do |file|
- next if File.basename(file) == '.ignore'
-
file = file.chomp
+ next if File.basename(file) == '.ignore' || File.basename(file) == 'DEFAULTS'
+
repo_dir = "#{REPO_DIR}/#{belong}/#{file}"
load_repo_file(repo_dir, File.dirname(file), File.basename(file), belong) if File.file?(repo_dir)
end
@@ -497,4 +498,15 @@ class MirrorMain
end
return false
end
+
+ def reload_defaults(file_list, belong)
+ file_list.each_line do |file|
+ file = file.chomp
+ next unless File.basename(file) == 'DEFAULTS'
+
+ repodir = "#{REPO_DIR}/#{belong}/#{File.dirname(file)}"
+ load_defaults(repodir, belong)
+ traverse_repodir(repodir, belong)
+ end
+ end
end
--
2.23.0