| When I was on dialup, I’ve thought of these issues a lot. I believe that this have come to the Debian folks as well, and their argument against it is simply that keeping only the last diff available wouldn’t help people upgrading from the second older version; but keeping 10 diffs as you argument would probably require a lot of calculation, synchronization and disk space overhead — overhead that might not hold up against the network time it saves.
One thing I *do* think worth considering is to split up the “Packages” file. One could for instance make a “Packages” file for each section, for each (three) letter(s) in the alphabet, one could make diffs to it, or whatever. My argument for this is that the “Packages” file now gets around the 1 Mb for main, and although apt looks at the timestamp to see if the file has changed since its last download, one often has to download that 1 Mb of packages information only to conclude a change in one package that you hadn’t installed anyway.
On a fast line, there is no problem with this. Not at all. My computer now downloads way faster than it installs }:-) On a slow line, the downloading of the packages file could take half an hour. Considering that e.g. testing has changes every day, and people like me would check this every day, this is a 1 Mb per person per day overhead. Which isn’t only irritating for dialup users (because you never know what that half hour of downloading will bring you), but also quite a load on the server.
At least, that’s what I argue.