[substitutions] Fix #7189 (#9469)

This commit is contained in:
Javier Peletier 2025-07-13 23:58:52 +02:00 committed by GitHub
parent 9451781915
commit 9e002cd7a3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 11 additions and 2 deletions

View File

@ -146,6 +146,9 @@ def _substitute_item(substitutions, item, path, jinja, ignore_missing):
if sub is not None: if sub is not None:
item[k] = sub item[k] = sub
for old, new in replace_keys: for old, new in replace_keys:
if str(new) == str(old):
item[new] = item[old]
else:
item[new] = merge_config(item.get(old), item.get(new)) item[new] = merge_config(item.get(old), item.get(new))
del item[old] del item[old]
elif isinstance(item, str): elif isinstance(item, str):

View File

@ -17,3 +17,5 @@ test_list:
- ${undefined_var} - ${undefined_var}
- $undefined_var - $undefined_var
- ${ undefined_var } - ${ undefined_var }
- key1: 1
key2: 2

View File

@ -19,3 +19,5 @@ test_list:
- ${undefined_var} - ${undefined_var}
- $undefined_var - $undefined_var
- ${ undefined_var } - ${ undefined_var }
- key${var1}: 1
key${var2}: 2

View File

@ -6,6 +6,7 @@ package_result:
root file root file
- Double substitution also works; the value of var7 is 79, where A is a package - Double substitution also works; the value of var7 is 79, where A is a package
var var
- key79: Key should substitute to key79
local_results: local_results:
- The value of B is 5 - The value of B is 5
- 'You will see, however, that - 'You will see, however, that

View File

@ -1,3 +1,4 @@
package_result: package_result:
- The value of A*B is ${A * B}, where A is a package var and B is a substitution in the root file - The value of A*B is ${A * B}, where A is a package var and B is a substitution in the root file
- Double substitution also works; the value of var7 is ${var$A}, where A is a package var - Double substitution also works; the value of var7 is ${var$A}, where A is a package var
- key${var7}: Key should substitute to key79