1. A computing system comprising: an upgrade system configured to detect a user upgrade input indicating that a base version of a computing system is to be upgraded, by applying a set of upgrade changes to the base version, to obtain an upgraded version of the computing system; a difference generation system configured to retrieve a customized version of the base version of the computing system and identify that the customized version corresponds to the base version with customizations applied; a combining engine configured to obtain the customizations applied to the base version and the upgrade changes, and combine the customizations with the upgrade changes to obtain a full set of changes; and a difference application engine configured to apply the full set of changes to the base version of the computing system to obtain a customized, upgraded version of the computing system.