Search code examples
svnrelease-managementchangelog

How to effectively manage code changes to third party applications


My main site is built on top of Invision Power Board. With version 3 just being released, i want to start with a clean codebase and remake all my modifications, but the problem is, when Invision release new versions, keeping track of the modifications I have made so I can reapply them has always been a bastard to do. While this new version will be stored in svn, i am still going to struggle to efficiantly update to new versions.

Thanks in advance.


Solution

  • I haven't yet tried this, but I imagine a process like this might work:

    1. Download latest version of IPB and put it in a folder called 'ipb-pure'. Create a Git or Mercurial repository here and commit everything.

      • Clone this repository elsewhere and call it 'ipb-custom'. Make all your customizations here and commit them. Don't push any customizations back to 'ipb-pure'.

      • New versions of IPB (official releases) can be commited into the 'ipb-pure' repository. Use Git/Mercurial to pull these changes into 'ipb-custom' and merge the heads. If you're lucky, git/hg will merge everything automatically.