On Sat, 3 Aug 2024 at 16:26, Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote: > > On Fri, Aug 2, 2024 at 9:42 PM Anders Roxell <anders.roxell@xxxxxxxxxx> wrote: > > > > When merging files without trailing newlines a the end of the file, two > > config fragments end up at the same row if file1.config doens't have a > > trailing newline at the end of the file. > > > > file1.config "CONFIG_1=y" > > file2.config "CONFIG_2=y" > > ./scripts/kconfig/merge_config.sh -m .config file1.config file2.config > > > > this will generate a .config lookingn like this. > > cat .config > > ... > > CONFIG_1=yCONFIG_2=y" > > > > Making sure so we add a newline at the end of every config file that is > > passed into the script. > > > > Signed-off-by: Anders Roxell <anders.roxell@xxxxxxxxxx> > > --- > > scripts/kconfig/merge_config.sh | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/scripts/kconfig/merge_config.sh b/scripts/kconfig/merge_config.sh > > index 902eb429b9db..ce1b77ee043b 100755 > > --- a/scripts/kconfig/merge_config.sh > > +++ b/scripts/kconfig/merge_config.sh > > @@ -136,7 +136,7 @@ for ORIG_MERGE_FILE in $MERGE_LIST ; do > > echo "The merge file '$ORIG_MERGE_FILE' does not exist. Exit." >&2 > > exit 1 > > fi > > - cat $ORIG_MERGE_FILE > $MERGE_FILE > > + cat $ORIG_MERGE_FILE | sed -e '$a\' > $MERGE_FILE > > > Is the pipe necessary? This seems to be equivalent to: > > sed -e '$a\' $ORIG_MERGE_FILE > $MERGE_FILE > > > > > > > This issue also happens if $INITFILE lacks a newline at the end. > > > I think the right place to insert a line is there: > > > # In case the previous file lacks a new line at the end > echo >> $TMP_FILE > cat $MERGE_FILE >> $TMP_FILE > > > I am fine with always inserting a line between files. Thank you Masahiro for your review. Sending a v2 shortly. Cheers, Anders