New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge config recursively #1176
Merge config recursively #1176
Conversation
Please discuss the naming of Also, I didn't find tests related to |
f5be7aa
to
2764c11
Compare
I’m concerned about this change because it changes existing behavior (“overwrite” becomes “merge”), and the change is therefore not backwards-compatible. An alternative suggestion would be to qualify how the parent file gets loaded. For instance:
|
Although this is a behavior change, I doubt anyone would really expect overwrite instead of merge. I also doubt this feature is widely used :) See it as bug fix! |
It turns out that |
Writing down here the fact that I scanned ~500 Nanoc sites on GitHub and none uses The idea behind
If you really want to cancel out a hash value that has been populated by a parent config file, you can still do
In that respect, this PR should be seen as bug fixing rather than enhancement. I don't see any advantage in complexifying |
Makes sense! Given that
… I’m OK with treating this as a bug fix instead. The config loader specs are in |
2764c11
to
650f83d
Compare
I added a test for |
650f83d
to
ffb56dc
Compare
Looks good! |
Thanks |
I faced the following situation:
nanoc.yaml
to only define thersync
deployment urlnanoc.yaml
to define otherrsync options
parent.yaml
nanoc.yaml
Without merging hashes recursively, parent config gets completely overridden.