1. A method for managing package updates, comprising: receiving a request to perform a distribution upgrade from an installed distribution comprising a first set of software packages installed on a client machine to a target distribution comprising a second set of software packages; determining a version of each package in the second set of software packages; determining a most-current version for each package in the second set of software packages; determining whether when the most-current version of each package in the second set of software packages is a match for an upgrade for the version in the second set of packages; upgrading each package in the first set of packages to the version of the corresponding package in the second set of packages when the version in the second set of packages is a match for an upgrade for the most-current version; and downgrading the version of each package in the second set of packages to a most-current version when the version in the second set of packages is not a match for an upgrade of the most-current version.