Patent ID: 7689972

Claim:
A system for determining whether to include any unmodified files when producing patches that include modified files, the files of each patch comprising at least one modified file and zero or more unmodified files on which the at least one modified file depends to function correctly, the system comprising: a file cache for storing files associated with previously-released patches and/or service packs; and at least one processor adapted to evaluate unmodified files for possible inclusion in a patch by: for each modified file of the at least one modified file: receiving as input at least one unmodified file for possible inclusion in a patch, the at least one unmodified file being one on which at least one modified file included in the patch depends to function properly on a destination computer system; and for each unmodified file of the at least one unmodified file: determining whether a compatible version of the unmodified file exists in the file cache, wherein the determining comprises comparing a first generation time of a cache file in the file cache to time a dependency on the unmodified file was introduced to determine whether the dependency for the unmodified file was introduced before or after the cache file was built; and when a compatible version is determined to exist in the file cache based on a determination that the cache file was generated after the dependency was introduced, excluding the unmodified file from the patch, and when a compatible version is determined not to exist in the file cache based on a determination that the cache file was generated before the dependency was introduced, including a latest version of the unmodified file in the patch as a patch dependent file, wherein the at least one processor is further adapted to generate the patch by including in the patch the at least one modified file and any unmodified files selected to be patch dependent files.