This can take a long time because the above operations may cause unnecessary changes to timestamps. They target the continuous development of the software and manage products based on a current baseline, that is a reference version of software on which each member of developing team fixes bugs and develops new functions. After each task is complete, all modifications are integrated and the modified source code becomes a new baseline for succeeding development. This baseline approach is useful for inhouse development teams. However, an official patch is delivered outside of a user's control and it only changes the baseline.
All modifications based on the previous version of the software then become obsolete.
Thus if the user wants to apply a new official patch, all other patches and modifications must be rearranged and re-applied after the official one is applied. In future, self-adaptive software agents or automatic programming from very high level specifications may solve the problem but, for the present, we have no silver bullet. Classification of patches Unofficial patches may be generated by different people based on different baselines. Unified management of these patches can be difficult and confusing. In this paper, we classify patches into the following three types and treat each differently.