To reproduce the issue:
# create test files
printf '%s\n%s\n' "config conf1 'conf1_name'" "option opt1_name 'opt1_val'" > /etc/config/test1
printf '%s\n%s\n' "config conf2 'conf2_name'" "option opt2_name 'opt2_val'" > /etc/config/test2
# use 1st test file as source
cp /etc/config/test1 /etc/config/test-merge
# merge 2nd test file
uci -m import test-merge < /etc/config/test2
cat /etc/config/test-merge
Expected output:
config conf1 'conf1_name'
option opt1_name 'opt1_val'
config conf2 'conf2_name'
option opt2_name 'opt2_val'
Actual output:
config conf1 'conf1_name'
option opt1_name 'opt1_val'
uci import (without -m) works fine:
cp /etc/config/test1 /etc/config/test-merge
uci import test-merge < /etc/config/test2
cat /etc/config/test-merge
Output:
config conf2 'conf2_name'
option opt2_name 'opt2_val'
uci -m import works fine when complete path is specified:
cp /etc/config/test1 /etc/config/test-merge
uci -m import /etc/config/test-merge < /etc/config/test2
cat /etc/config/test-merge
Output:
config conf1 'conf1_name'
option opt1_name 'opt1_val'
config conf2 'conf2_name'
option opt2_name 'opt2_val'
Tested on OpenWrt 24.10.5
To reproduce the issue:
Expected output:
Actual output:
uci import(without-m) works fine:Output:
uci -m importworks fine when complete path is specified:Output:
Tested on OpenWrt 24.10.5