Pacdiff -s Bug - merge

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). :point_down:

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.

1 Like

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 :man_shrugging:

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. :laughing:

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.

2 Likes

that could be it…i started with the default editor and later migrated to meld.

MERGEPROG and DIFFPROG are different things.

Nonetheless you would get different output obviously in either case.

(when using m - MERGEPROG is not used by v for example)

EDIT.

Looking at your issue possibly stemming from the $cachedirs array.
I realize there is a somewhat recent change related to that;

1 Like

Hmmm not for my viewpoint.

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 :laughing:

Anyways, Meld was the one and only program that i used, so no… i never used another Merge program.

meld is not applicable to MERGEPROG.

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.

Yes i used Meld as DIFFPROG.

I mean Pacdiff and Diffprog fits or not?
TBH i never heared about Mergeprog before this moment.

I just remember, Diffprog because i had to hardlink Meld for it.

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.

Seems likely maybe?

2 Likes

This is the holy grail, you got it :slight_smile:

And it fits to my experience and changes that shows up in this time.

if you use meld why not use manjaro-pacnew-checker ?
for run it after notification in update (some days after update) :

touch /tmp/pacnew-check.file; pacnew-checker

I just use after a release update pacdiff -s to look for pacnew files.

No big deal for me.

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.