Just the other day, I was working on something that required me to look at two different builds and compare the packages that differ between them. One way to do so was to look at the build log or version table, but that would require writing extensive logic to parse and compare the packages and their versions.

After some further searching, I found this Repodiff man page. The command looks like this:

$ repodiff --old=old_repo_baseurl --new=new_repo_baseurl

So, I could run this command with two different repo URLs, as you see below, and it showed me the difference. (Note that these are made-up URLs in order to illustrate what happens.)

repodiff --old=http://cdn.redhat.com/builds/4.3/rhv-4.3.4-5/el7 --new=http://cdn.redhat.com/builds/4.3/rhv-4.3.4-7/el7 --archlist=x86_64 Loaded plugins: versionlock setting up repos setting up old repo http://cdn.redhat.com/builds/4.3/rhv-4.3.4-5/el7 Excluding 8 updates due to versionlock (use "yum versionlock status" to show them) setting up new repo http://cdn.redhat.com/builds/4.3/rhv-4.3.4-7/el7 performing the diff New package: ovirt-engine-4.3.4.3-0.1.el7 Management server for Open Virtualization New package: ovirt-engine-backend-4.3.4.3-0.1.el7 Engine core of oVirt Engine New package: ovirt-engine-dbscripts-4.3.4.3-0.1.el7 Database scripts for oVirt Engine New package: ovirt-engine-restapi-4.3.4.3-0.1.el7 RESTful API for oVirt Engine New package: ovirt-engine-tools-4.3.4.3-0.1.el7 oVirt Engine Tools New package: ovirt-engine-tools-backup-4.3.4.3-0.1.el7 oVirt Engine Tools (engine-backup) New package: ovirt-engine-webadmin-portal-4.3.4.3-0.1.el7 Web Admin Portal of oVirt Engine New package: rhvm-4.3.4.3-0.1.el7 Red Hat Virtualization Manager Updated Packages: ovirt-engine-extensions-api-impl-4.3.4.3-0.1.el7 ------------------------------------------------ * Wed Jun 05 2019 Anton Marchukov <amarchuk@redhat.com> - 4.3.4 - To view full list of bug fixes and enhancements, please see: - https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.3/html-single/technical_notes/ ovirt-engine-extensions-api-impl-javadoc-4.3.4.3-0.1.el7 -------------------------------------------------------- * Wed Jun 05 2019 Anton Marchukov <amarchuk@redhat.com> - 4.3.4 - To view full list of bug fixes and enhancements, please see: - https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.3/html-single/technical_notes/ ovirt-engine-health-check-bundler-4.3.4.3-0.1.el7 ------------------------------------------------- * Wed Jun 05 2019 Anton Marchukov <amarchuk@redhat.com> - 4.3.4 - To view full list of bug fixes and enhancements, please see: - https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.3/html-single/technical_notes/ ovirt-engine-setup-4.3.4.3-0.1.el7 ---------------------------------- * Wed Jun 05 2019 Anton Marchukov <amarchuk@redhat.com> - 4.3.4 - To view full list of bug fixes and enhancements, please see: - https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.3/html-single/technical_notes/ ovirt-engine-setup-base-4.3.4.3-0.1.el7 --------------------------------------- * Wed Jun 05 2019 Anton Marchukov <amarchuk@redhat.com> - 4.3.4 - To view full list of bug fixes and enhancements, please see: - https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.3/html-single/technical_notes/ ovirt-engine-setup-plugin-cinderlib-4.3.4.3-0.1.el7 --------------------------------------------------- * Wed Jun 05 2019 Anton Marchukov <amarchuk@redhat.com> - 4.3.4 - To view full list of bug fixes and enhancements, please see: - https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.3/html-single/technical_notes/ ovirt-engine-setup-plugin-ovirt-engine-4.3.4.3-0.1.el7 ------------------------------------------------------ * Wed Jun 05 2019 Anton Marchukov <amarchuk@redhat.com> - 4.3.4 - To view full list of bug fixes and enhancements, please see: - https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.3/html-single/technical_notes/ ovirt-engine-setup-plugin-ovirt-engine-common-4.3.4.3-0.1.el7 ------------------------------------------------------------- * Wed Jun 05 2019 Anton Marchukov <amarchuk@redhat.com> - 4.3.4 - To view full list of bug fixes and enhancements, please see: - https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.3/html-single/technical_notes/ ovirt-engine-setup-plugin-vmconsole-proxy-helper-4.3.4.3-0.1.el7 ---------------------------------------------------------------- * Wed Jun 05 2019 Anton Marchukov <amarchuk@redhat.com> - 4.3.4 - To view full list of bug fixes and enhancements, please see: - https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.3/html-single/technical_notes/ ovirt-engine-setup-plugin-websocket-proxy-4.3.4.3-0.1.el7 --------------------------------------------------------- * Wed Jun 05 2019 Anton Marchukov <amarchuk@redhat.com> - 4.3.4 - To view full list of bug fixes and enhancements, please see: - https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.3/html-single/technical_notes/ ovirt-engine-vmconsole-proxy-helper-4.3.4.3-0.1.el7 --------------------------------------------------- * Wed Jun 05 2019 Anton Marchukov <amarchuk@redhat.com> - 4.3.4 - To view full list of bug fixes and enhancements, please see: - https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.3/html-single/technical_notes/ ovirt-engine-websocket-proxy-4.3.4.3-0.1.el7 -------------------------------------------- * Wed Jun 05 2019 Anton Marchukov <amarchuk@redhat.com> - 4.3.4 - To view full list of bug fixes and enhancements, please see: - https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.3/html-single/technical_notes/ python2-ovirt-engine-lib-4.3.4.3-0.1.el7 ---------------------------------------- * Wed Jun 05 2019 Anton Marchukov <amarchuk@redhat.com> - 4.3.4 - To view full list of bug fixes and enhancements, please see: - https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.3/html-single/technical_notes/ redhat-virtualization-host-image-update-4.3-20190610.0.el7_6 ------------------------------------------------------------ rhvm-appliance-4.3-20190605.0.el7 --------------------------------- Summary: Added Packages: 8 Removed Packages: 0 Modified Packages: 15

When I ran the command again with --old and --new both being the same, I got the following output:

Summary: Added Packages: 0 Removed Packages: 0 Modified Packages: 0

This result told me that when I pass --new URL and --old URL to be the same, the output summary returns 0 for added/removed/modified, meaning I am already on the same version, and can skip the (re-)installation.

As you can see I quickly got the list as well as summaries of the packages that were added, removed, or modified. This tool definitely saved my day, as I didn’t want to manually parse the installed packages on the system.