Picture this scenario – a ROM developer releases a 1.5 gigabyte ROM, twenty minutes later there’s an error that’s found in the release and the ROM is built and compiled and uploaded again for you to download. Then a day or two later a new feature is added. Repeat this cycle a few times and you’ve downloaded many gigabytes of updates for relatively just a few changes.
More popular ROMs start blowing through terabytes of bandwidth as frequent updates necessitate frequent downloads.
With phone ROMs becoming increasingly huge as time goes on and relatively little changing between developer releases on these things (usually there’s a few chances to some small configuration files between ROM revisions,) you might be wondering if there’s a way to only download the changed bits and let your computer do the work your bandwidth has been doing for you.
If you’ve seen a ROM that allows updates via SVN, this is a distribution method that allows your computer to download only the changed files in a particular ROM and build the thing right on your computer. This allows your computer to build the components and if you’re close to a bandwidth cap it keeps you in fresh versions of your ROM without being a data hog.
The way it works is you download an SVN client onto your computer. I’m using TortoiseSVN, but there are other clients available (although instructions will differ from here if you choose something else.) Create a directory where you would like the ROM to be maintained. Right click the folder, choose SVN checkout, add the SVN URL your ROM developer has as the repository source, and the ROM will be downloaded.
Usually the ROM developer will leave you a batch file somewhere to create an installable version of the ROM, or if it’s just a changed file or two you can copy only the changes from your computer to the phone and save a lot of time with flashing a new version of the ROM.
SVN is a great way to drop your data usage while staying up to the moment with bleeding second updates, and with ROMs the size of the M8 and beyond, it’s something that seriously needs to be considered.[xda-developers]