Midnight Oil » Use vendor branches for plugins, not script/plugin install
October 1, 2007
This is a good six months old, but oh, how I wish I had paid attention to this:
Unfortunately, once you start editing the code, you have effectively forked a new distribution. For most people, this involves checking the modified code into your SVN repository and going on your merry way. The problem arises when updates are published to the plugin. What do you do? Manually copy the changes from the new version into your code? Delete your version and re-run script/plugin install? Just ignore the updates? If only there were a way to automatically include the updates from the new version, while at the same time preserving the changes that you added yourself
Luckily, there is a way to do this, called vendor branches. The entire methodology is detailed in the online SVN book in the vendor branches chapter. The goal is to include third-party code in your project, allow you to make modifications, yet make it easy to include a new version when released. If you want the whole story, read the book, since I will just give quick instructions for RoR people.