1. Computer apparatus for maintaining a plurality of versions of a software program, comprising:
a data store for storing different portions of each version of the software program, the data store using a base-exception
hierarchy such that (i) basic portions that are common to each version are stored at a first level of the hierarchy, and (ii)
exception portions that are common to less that all versions are logically coupled to affected basic portions and stored at
succeeding levels of the hierarchy in order of decreasing commonality, said exception portions taking precedence over said
basic portions by at least one of supplementing, replacing or modifying said basic portions; and
a generator coupled to the data store for producing a desired version of the software program upon user command, the generator
forming the desired version by selecting basic portions and exception portions from the different levels of the hierarchy
in response to the user command.
|