How does the current backup file strategy interact with the autosave feature? If autosave works without it, that might address a lot of these concerns.
> On 29 Jun 2020, at 23:13, hauptmech <hauptm...@gmail.com> wrote: > > > While I agree that it is not KiCad's job to do archival backups or version > control, I do think that KiCad should preserve the integrity of users data > through a crash. Even better if the work between the last save and the crash > is also preserved and recovered on restart. > > I have had to use the backup files to recover data in the past. I have no > idea if that recovery was related to something that is now no longer a > possible issue. > > > -Hauptmech > > > On 6/30/2020 7:23 AM, Jon Evans wrote: >> Currently, KiCad automatically creates backups of schematic and PCB >> files when you save a file. >> >> The logic for these backups is basically: if a file already exists >> with the same name as what we are saving, copy that file to a new file >> and give it the "-bak" suffix on the file extension. >> >> These backups are stored next to the original file in the current >> KiCad codebase. This understandably creates clutter that some people >> don't like (myself included) so in the project-settings branch that is >> about ready to be merged, I changed this behavior to place all these >> backups in a special backups folder for the project. >> >> This proved to have some complications around the handling of files >> outside the project path (which it's possible to have with >> hierarchical schematic sheets) so I need to do something else. >> >> After some thought, I am pretty convinced that the right thing to do >> is just *remove this backup feature entirely*. Here's why: >> >> 1) It's not a very good backup: It just stores the state from the >> last time you hit "save". If you hit save again, your backup is blown >> up. So, it's really like a "undo" function, but on disk, and with >> only one level of undo. >> >> 2) Recently I changed how we save schematic and board files to fix >> some unrelated issues people were seeing with cloud backup services. >> Before this change, if KiCad crashed or had some other serious error >> while saving a file, the file would be lost (because we used to delete >> the old file and then write a new one in its place). After this >> change, we write the new file to a temporary location, and only if >> that write succeeds do we copy it on top of the old file. I think >> this vulnerability to generating corrupt files if we crash was one of >> the reasons for this backup file system, and that reason is now gone. >> >> 3) Because it's not a very good backup, I worry that the fact that >> "bak" files exist might cause some users to have a false sense of >> security and not use a true backup system (like a version control >> system, or some other mechanism that actually backs up files >> periodically). I want to remove this false sense of security so that >> it is more clear that users should back up their files in some way if >> they care about the work. >> >> In other words, I don't think this feature actually gives enough value >> to make it worth the clutter in the project folder and/or the >> development effort to make it work well with less clutter. >> >> So, I'd like to hear from others on this: anyone disagree? >> >> Thanks, >> Jon >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~kicad-developers >> Post to : kicad-developers@lists.launchpad.net >> Unsubscribe : https://launchpad.net/~kicad-developers >> More help : https://help.launchpad.net/ListHelp > > > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp