Skip to content

uci merge-import doesn't work unless complete path is specified #19

@friendly-bits

Description

@friendly-bits

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions