I agree that it's not a good idea to change the filename to reflect the state of the file, it's just that it is what a lot of people do. This is probably partly because you can do the same thing across many applications so it becomes a standard practice (rather than a best practice). Having to learn lots of different ways of doing the same sort of thing can become tiresome.
In the past I've been in many situations where I've had filenames such as project6.sla , project6bnw.sla , project6rf.sla , etc. where project6 is the seventh iteration of the document, project6bnw is the same thing but with the images converted to greyscale, and project6nf is project6 but with different fonts. The different versions of the same iteration are used to check to see which looks nicer. Then I'll take whatever I think looks best and create project7 and move on from there. It's a silly way of working but it's just what I'm used to doing and it works across all applications. I would love to have a better way of doing things like this.
With Git you can see what the changes to the document were but only if you can understand the differences in the XML, which most users can't and I don't think any reasonable person would expect them to. It's fairly easy to "rewind" an SLA to a certain point too (as mentioned in the tutorial I linked to) - the SLA is just XML code after all - but, as you say, cherry picking which specific changes you want to keep/discard is difficult, bordering on impossible in most cases. It's mostly an "all or nothing" situation.
Being able to go back and forth in time over changes to individual objects within Scribus - rather than the whole document - would be a fantastic feature. I can't get my head around how that could possibly be achieved though.
You're also correct that most OSes come with backup functions that allow users to go back to a previous version but most that I have seen are very basic backups where only the last version is kept and then overwritten by subsequent saves. Something like OSX Time Machine is nice but a lot of people don't have access to that sort of backup system. (Time Machine, for people who don't know about it, essentially keeps track of every file throughout its life-cycle and you can choose the time/version to restore from.)
While having a facility to restore a backed-up file from a certain time might be useful, it's not really much good for what I want. Backups are made when the file is saved (if you're using a continuous backup plan) but how would I know which backup was the one I wanted? I regularly save my documents after most major changes (just in case) and so I would have hundreds of backups to choose from, all with slightly different timestamps. Do I want the version that was saved at 14:21:06, or 14:21:52, or 14:22:58? I wouldn't know and would have to check each one. That's not an ideal situation and I'd rather stick with my tried and trusted version numbering rather than having to trawl through loads of backups to find the right one.
I've been letting your idea about creating snapshots stew in the back of my head and I'm starting to think that might be a better way of working (although I'm still worried about taking up a lot of space). I'll let the idea sink in a bit more and maybe try some experiments.
Nermander: Thanks for posting the link. RCS looks interesting and LyX looks like it could be an interesting companion to Scribus for users who don't need a full page layout application every time. (Some recent posters seem to be needing something like LyX rather than Scribus for creating reports and academic papers. Here's the home page for anyone interested:
http://www.lyx.org/Home )