I've been using Fedora since Fedora Core 15 and never stumbled across dnf shell. What's an example of using it to avoid conflicts?
Provides: libarchive-%{version}-%{release}
The new package would be able to substitute the old one, but the only way to install it is with dnf shell. Since other things depend on libarchive, I couldn't do: dnf remove libarchive
dnf install ./libarchive-patched-*.rpm
Instead, if I do: dnf shell
remove libarchive
install ./libarchive-patched-*.rpm
run
then both the remove and install are done in the same transaction and dnf won't throw any dependency resolution errors.