Skip to content

Commit f9472c6

Browse files
committed
Add ability for overcommit configs to inherit settings
1 parent 192c84b commit f9472c6

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

lib/overcommit/configuration_loader.rb

+7-3
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,7 @@ def load_repo_config
6262

6363
# Loads a configuration, ensuring it extends the default configuration.
6464
def load_file(file)
65-
config = self.class.load_from_file(file, default: false, logger: @log)
66-
config = self.class.default_configuration.merge(config)
67-
65+
config = load_file_with_inheritance(file)
6866
if @options.fetch(:verify) { config.verify_signatures? }
6967
verify_signatures(config)
7068
end
@@ -80,6 +78,12 @@ def load_file(file)
8078

8179
private
8280

81+
def load_file_with_inheritance(file)
82+
config = self.class.load_from_file(file, default: false, logger: @log)
83+
base_config = config['inherit_from'] ? load_file_with_inheritance(config['inherit_from']) : self.class.default_configuration
84+
base_config.merge(config)
85+
end
86+
8387
def verify_signatures(config)
8488
if !config.previous_signature?
8589
raise Overcommit::Exceptions::ConfigurationSignatureChanged,

0 commit comments

Comments
 (0)