It first must apply the patches to the code, then build the code, then run the test, and this again and again and again, which implies that your build facility must be automatic and of course, your version control system should also be able to produce exact and small differences between versions. 