I'd normally run a diff on both package trees and then go and see what .sql files changed and how. Then I would manually create new functions (and drop old ones -- the create or replace function would finally be a blessing), whenever possible -- making changes to tables (but this has rarely been necessary).
I've once tried the trick of trying to restore a dump from one CVS checkout of OACS onto another -- that was not too much fun an I really did not get anywhere.