Am 2025-10-02 11:35, schrieb Lexi Winter:
Gleb Popov wrote in <CALH631=iorih8n-dhd0d1cwjp3kbqemejuzq2kbgg8gorja...@mail.gmail.com>:
> pkg(8) will attempt a 3-way merge when installing a new configuration
> file.  if this is successful, no action is required.  if it fails, the
> existing file will be left unchanged and pkg will create a <name>.pkgnew
> file, which you need to manually merge with the existing version of the
> file.
>
> this workflow is much worse than etcupdate or freebsd-update, and i'm
> not convinced we should release with pkgbase as the recommended option
> without a better solution, but we'll see.

Doesn't etcupdate perform the same 3-way merge during its operation?
My understanding is that pkg and etcupdate will produce the same
results for the same inputs.

yes, the merge functionality is the same (more or less), but the result
for the user is worse: etcupdate makes it clear which files failed to
merge and offers a manual resolution of the merge with conflict markers,
while pkg just prints a message, which is usually lost in the hundreds
of other messages printed during an upgrade, and requires the user to
manually locate the unmerged files via find / -name '*.pkgnew', then
you only get the old and new files with no way to easily see what has
changed in the new version of the file.  (basically, this is a manual
two-way merge.)

if there's a better way to do this with pkg, i'd definitely like to know
about it.

Teach pkg to do the same what etcupdate does: handle the conflict interactively (and doing that for ports too would be nice). What the default way (interactive or non-interactive) shall be, would be discut^wbikeshed-able.

Bye,
Alexander.

--
http://www.Leidinger.net [email protected]: PGP 0x8F31830F9F2772BF
http://www.FreeBSD.org    [email protected]  : PGP 0x8F31830F9F2772BF

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to