Thanks, guys, my problem is solved. I appreciate the full snapshots from earlier than just a couple of days ago. I didn't even notice the deltas were there in the official repo. Applying so many of them to get several months into the past would be cumbersome, though, even with some simple automation. If you have a word to say into that, Neddy, this one user would appreciate full snapshots instead of just deltas. Or at least more of the full snapshots across the backup history.

I have an external app whose binaries/libs compiled around Jan/Feb run OK even today. Trying to recompile them now can be done without issues, but when run, the libs don't work - a main lib cannot dynamically load supporting libs, saying symbols cannot be found in them. I'm looking for the cause of this. I know gcc upgraded from :4.5 to :4.6, but going back here doesn't help. The same story for a couple other fundamental packages. I got desperate and decided to revert the whole system to a state in which it was around the beginning of the year. I'm leaving debugging the sourcecode as the last option, as that would take me the most time.

Patch is normally used to update things but downgrade works too.
If you look inside a patch file, each line of the change has a prefix of + (to be added) or - (to be removed)
Patch has the option -R for this. Its intended to cope with patch files made with oldfile and newfile swapped.

In this case, the patch files need to be concatinated in reverse date order, then fed to patch with the -R option._________________Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.

Depending on the ebuild you could also have used the Funtoo tree, which is a git repo so going to a specific date would be trivial.

Is that really so much easier than doing a checkout with -D $TIME, where $TIME is virtually any commonly used plain text date and time format? When added to trying to pull an ebuild from a divergent tree which would possibly need changes reverted to match the desired ebuild anyway, throwing git into the mix seems at best to be using a pet tool for the sake of using that pet tool, especially if the ebuilds and patches collected in the process are to then remain essentially static.

Maitreya wrote:

The git suggestion seems pretty straightforward, but I don't know if the Funtoo tree differs from Gentoo.

It does, the Funtoo tree is essentially a running fork of the Gentoo tree with changes to profiles, keywords and overlays added directly in to the tree.

Sorry, I had no idea CVS could do that. Last time I used it was 10 years ago trying to checkout something from SourceForge that involved multiple commands with invisible state... not exactly user-friendly