When i see the result that i posted above (Screenshots), i wouldn’t use this automatic merge function either. That’s for sure. For this point im agree with you.
But i never used this automatic merge function, alone the missing arrows from Meld, doesn’t fit to my memories at all. And after i merged all my files and my Maintain pacnew file list that i posted above from my 2 devices, im 100% sure my memories in this case are pretty good.
How do you know? Do you saw it on Github?
Anyways, i saw that pacdiff changed, i saw this error’s (that i posted in the OP).
This error was fixed in the last 4 month, after i created this Topic. So there must be some changes.
Probably the code that you posted from Merge (input, idk how to call it) doesn’t change, but maybe the links (or symlinks) to that file.
Maybe pacdiff -s (m command) was leading in the past to (v command) by developer mistake? Could this explain the situation?
Because View behaves today like Merge in the past, at least in my memories.
That is how i remember it too. Something changed a couple of months ago (i use Manjaro since 1 year). But i am not 100% sure, maybe i imagine… Anyway, i now just hit v and do not think too much about it.
At the end of the day, this error vanished today and m command is working today.
Maybe only the developer can tell the story about this changes and why Merge shows another result today
But it is as it is now and i just use View today… even when i think that View should replaced with Edit, at least this was my decission why i pressed Merge instead View in the past, because it looked identical and i was think at this time: Why in hell should i just View a pacnew view, when i want to change it?
And because it looks identical, i was thinking maybe there was some invisible background magic that im not aware about it.
Going back until july of last year the only changes have been to the locate portions.
Going back even further the closest related change is about the 3-way diff and comes from 2022.
I suppose its possible you had some different MERGEPROG set or … dunno.
This is simply an error earlier in the attempt.
package="$(pacman -Qoq "$file")" || return 1
base_tar="$(base_cache_tar "$package")"
if [[ -z $base_tar ]]; then
msg2 "Unable to find a base package."
return 1
fi
The file didnt exist for some reason. Probably stemming from something or other in
base_cache_tar() {
package="$1"
for cachedir in "${cachedirs[@]}"; do
pushd "$cachedir" &>/dev/null || {
error "failed to chdir to '%s', skipping" "$cachedir"
continue
}
find "$PWD" -name "$package-[0-9]*.pkg.tar*" ! -name '*.sig' |
pacsort --files --reverse | sed -ne '2p'
popd &>/dev/null || exit
done
}
But I couldnt tell you how or why without seeing more in depth information.
I used Manjaro since 08/2020 and i delayed to merge pacnew files for almost 3 full year’s till 07/2023 where at this month where our community had the big talk in the announcement topic about PACNEW file Merging.
Where i defended at this moment to ignore pacnew files, because i didn’t had any error’s from this unmaintained configs for 3 year’s. Spoiler alert: My viewpoint changed
Anyways, Meld was the one and only program that i used, so no… i never used another Merge program.
But I wont spend more time trying to explain those things.
I find the commit I linked above to be a likely candidate for your perceived difference when using m - as the way it finds the files was changed. And your error came from not finding the file. Seems like the most likely candidate if we are indeed talking about an upstream change and not something locally configured.
And meld only provides you a GUI comparison of the 2 files. It cannot automatically merge.
In your latest example of an issue it would never even get to DIFFPROG.
Because
Which is from
Which would have been generated by
base_cache_tar() {
package="$1"
for cachedir in "${cachedirs[@]}"; do
pushd "$cachedir" &>/dev/null || {
error "failed to chdir to '%s', skipping" "$cachedir"
continue
}
find "$PWD" -name "$package-[0-9]*.pkg.tar*" ! -name '*.sig' |
pacsort --files --reverse | sed -ne '2p'
popd &>/dev/null || exit
done
}
package="$(pacman -Qoq "$file")" || return 1
base_tar="$(base_cache_tar "$package")"
Which would not affect certain other operations (like v).
But this methodology was changed with the commit
For example what was
[[ -d $cachedir ]] ||
die "cachedir '%s' does not exist or is not a directory" "$cachedir"
# unlikely that this will fail, but better make sure
pushd "$cachedir" &>/dev/null || die "failed to chdir to '%s'" "$cachedir"
Became
for cachedir in "${cachedirs[@]}"; do
pushd "$cachedir" &>/dev/null || {
error "failed to chdir to '%s', skipping" "$cachedir"
continue
}
And this happened at Arch about a year ago.
So you might have seen it in Manjaro sometime between then and now.