If you do a lot of flashing of ROMs, kernels, and patches, one thing you’ll notice quickly is how large your backup folder becomes and how frequently you have to remove older backups. The question you may have asked is: why should this be the case? After all, data from one Nandroid to the next is not entirely different. APKs do not change from one ROM to the next, and neither do most of the binaries that make up our ROMs. Now, developer Koush of ClockworkMod has potentially fixed this.
The new ClockworkMod format simply backs up files from ROM to ROM into the same directory: blobs. Individual backups you create are links to files in the blobs directory. Files are identified by their SHA256 fingerprint, so if you backup a ROM with a version of Facebook and it’s updated in the next ROM, the original would not be overwritten. If they were the same, the file would be skipped from backing up 20+ megs of duplicated data, and a little link to the blob file would exist in the new backup.
Another advantage to this is that doing a fingerprint of a file and looking it up in a blobs directory takes significantly less time and processor power than compressing that file and writing it to storage.
When a backup directory is deleted, the blobs entries associated with that particular backup are removed at the next backup unless they’re in use elsewhere. This prevents you from having old ROM data you no longer want laying around clogging up your backups.
With backups for some newer phones reaching gigabyte levels and relatively little changing from one backup to the next, this could save a ton of space, backup time, and allow a wide date range of backups on your phone without stealing much space away.
The only issue I see with this is that these are not standalone nandroid backups, meaning if you just copy an individual backup directory to your computer that was made, you’re copying links to files on your phone. Deleting the backup from the phone will result in the blobs entries being killed, and moving the backup directory from your computer back to the phone would result in a lot of files not being found as the associated blobs were removed in maintenance. If that’s right, that means all your eggs are in one basket, and if you want to copy a small egg off of the phone you’re going to end up hauling a henhouse to your computer to get it.
Or perhaps there will be another way to do it. It’s an interesting concept, but I’m not sure how it will play out and whether it will be a pain or a godsend in the recovery world.
For those wondering, ClockworkMod 6 will be fully backwards compatible, so no need to worry about your old nandroid backups not being able to be restored. It’s unclear whether it can make nandroids that are compatible with existing recoveries, but you can expect existing recoveries to incorporate this into their code if it works out well.
It’s also unclear when exactly CWM 6+ will make its way to each device, but very soon is what I’m betting.