What is the default autosave behavior?


#1

So, I was working on a PCB and I thought I saved, although I admit I may have forgotten to and I closed it and when I reopened the file from the project manager it showed the PCB at a point from well before I’m sure I saved. I checked the project folder and it included these files:

  • projectname.kicad_pcb, the nearly empty sheet I opened,
  • projectname.kicad_pcb-bak, which was empty,
  • _autosave-projectname.pro,
  • projectname.bak, which seems to be a confusingly-named backup of my schematic,
  • and _autosave-projectname.kicad_pcb, which was further along than projectname.kicad_pcb but still not where I had previously closed PCBnew.

As I was comparing these files, _autosave-projectname.kicad_pcb disappeared, presumably automatically deleted by the project manager for reasons that are mysterious to me, so I didn’t even get a chance to figure out how to restore from this “autosave.”

My question is, how should I be expecting KiCAD’s autosave to function, and is there a way to configure it to act sensibly? I.e., one backup file for every “real” file unless otherwise specified, no deleting backups unless overwriting them with newer backups, and explicit dialogues that ask me whether I want to restore a backup and whether I want to quite without saving. I didn’t lose so much progress that I can’t redo it, so I’m counting this as a chance to learn a lesson, but I feel like the program is actively resisting my progression and I don’t understand why.


#2

In EESchema, the default interval is 10 minutes. On a Mac, you set it from the Kicad -> Preferences menu (not the Preferences menu item from the main menu bar, I know this is weird), in the Editing tab of the dialog box that pops up. I do not know how to access this dialog on other platforms.

In pcbnew, the default interval is 10 minutes as well. On a Mac, again choose Kicad -> Preferences, and you will get a General Settings dialog which includes the Auto Save (minutes) setting.

As for actually using autosave, I am of the opinion that if you do not do Ctrl-S (or Cmd-S) after adding or changing anything, I have no sympathy for you. Saving files is too easy and depending on an automatic feature is silly.


#3

I really do not understand why anyone would find an autosave feature usefull.
Except for lazy or sloppy people. Are you in that category?

For over 30 years I’ve gotten into the habit of making backups myself at least dayly and sometimes extra, every time I’ve done some significant work on a project. Sometimes I make exta backups in between especially when software is particularly unstable or buggy.
Those “autosave” and “.bak” files are somewhere between annoying and irrelevant.

If you’re serious about backups, then learn something like git (Which can easily ignore irrelevant files). Learning such a universal system for backups (and much more…) seems far more usefull than learning how to use, working with and trusting a miriad of probably half implemented automatic features of a bunch of different software packages.


#4

Autosave of important working files to a single backup per file is a nice feature to have. Complaining that people who don’t save after every step deserve what happens to them is a little bit harsh I think. Part of good design of software is to make completing a task easier for the user, and I think autosave falls under that category. Especially if you are using the software for commercial purposes - lost work equals lost money and time.


#5

Especially when learning new software. You have a lot to think about.


#6

I don’t know that I made my problem clear. Automatic backups are great, but I’m fine with just a “quite without saving? (y/n)” dialogue. My issue here and the reason I made the topic is that It seemed to me that the program had overwritten my previous save unprompted and I wanted to understand why that might have happened and what I could do to prevent it (other than “just use git”).


#7

If you can’t be lenient, at least give the guy a little margin!

On more than one occasion - even with software that I’m very familiar with - I have very consciously and deliberately performed some operation that resulted in a file so fornicated that the only rational response was to revert to a previous version. (If one was available . . . ) Last week I stepped into the next room for a few minutes to check on the progress of a test, and came back to find my computer stone-cold dead and no lights, no power, at my work table. (Maintenance had turned OFF the wrong circuit breaker to do some work.) And today, just before lunch, my PC (Personal Confuser) decided to lock up. Couldn’t even bring up the “Task Mangler”.

What KiCAD version is the OP using? If I modify a file after saving it, then try to close either EESchema or PCBNew without saving the file again, I get the following message dialog:

(This is a nightly version from back in February.)

I’m at a loss to suggest a back-up procedure that meets my needs. I typically copy the project, schematic, and PCB files anywhere from one to three times a day when I am actively working on a project - but keep them for only a day or two. It may be useful to have the last two or three auto-saves available. Even though storage is cheap, I don’t want to be buried under dozens or hundreds of backup files.

Dale


#8

I have always found that KiCad prompts to save on quit if there are unsaved changes, that is in various versions from 4.0.0 to 4.0.6. If using a nightly build, it’s possible you have found a bug.

I haven’t checked the code, but I believe KiCad compares the loaded file with the autosave and pops up a “do you want to restore from autosave” prompt at statup. It would be easy to verify this with a test project.

The only time I have felt uncertain about KiCad saving data is with the component libraries, so I try to always make sure of save the component, and saving the library on every change. A few my component changes mysteriously got lost.

As for people who lack sympathy and try to blame the user, I am sorry about that but they are fools who should be ignored. The reality is that KiCad sometimes crashes, PCs crash, power fails, and humans are fallible. I’ve never met any of these perfect individuals with perfect systems that never fail, they only seem to exist on the internet.


#9

I have always found that KiCad prompts to save on quit if there are unsaved changes, that is in various versions from 4.0.0 to 4.0.6.

I’m using the most recent stable build, 4.0.6. That’s what I thought. This is why I felt reasonably sure that I had saved. I just wanted to be sure that it’s not the result of unalterable intended behavior. Thanks everyone.


#10

Please, tell me how much time it takes to type Ctrl-S vs how much time it takes to recover from a crash. No sympathy, sorry.


#11

Software crashes, PCs crash, power fails – and it’s so easy to type Ctrl-S after making a change.


#12

It essentially doubles the number of keystrokes to perform any sequence of operations. More significantly, it disrupts (or at least encumbers) the mental thought processes which create the reasoning behind a sequence of keystrokes and clicks.

The original post in this thread did not question the wisdom of backing up your work in real time. Rather, it noted that KiCAD already does that sort of backup automatically. (In principle, this relieves the user of a need to type Ctrl-S after every mouse move or keyboard poke, at least partially.) Then the original post asked how to take advantage of KiCAD’s automatic file saves most effectively. I don’t think we have seen a response to that request.

Dale


#13

Short answer:
As far as i know deliberate saves go into the “normal” files and auto saves go into the backup files on the project folder.
I can understand some confusion here, Especially because i get confused easily but the most likely couse of your confusion is that you forgot to save your project yourself.
but as others have said before me (bobc) this behaviour is easy to check with a little test project.

Long answer:
I seem to be misinterpreded here.
I don’t really mind, I get that a lot from people.
It is just because my brain is wired a bit differently from “average”.

Autosave can be sightly usefull sometimes but I just don’t rely on it.
Consider this scenario: You’ve got an almost finished PCB but you get stuck because there is no room for the last 5 traces …
eXit.
Make backup.
Restart
throw way half the traces, move some components, redraw.

A very easy way to keep track of your backups is to give them dates in ISO8601 format


It is the best date format, worldwide standard. I like good standards, and wherever there is one I prefer them over local customs, especially if they are old customs. It’s called progress.
The big advantage here is that files are then always listed in chronological order:
2017-02-01_Project.zip
2017-03-23_Project.zip
2017-05-12_Project_Schematic_finished.zip
2017-08-05_Project_PCB_finished.zip
You’ll get the idea.

And some more about AutoSave:
A few years ago I worked a bit with Blender.
Wonderful piece of software, but with quite a steep learning curve.
I abandoned it quite fast though because it was not the right software for me.
(I was more interested in mechanical CAD design, Blender is not good at that).

One thing I do remember (a bit) though is it’s wonderfull “auto save” function.
It is also one of the weird features which take some time to get used to.
There is no way to save a project / file in Blender.
If you’re finished for the day you just close Blender.
No save dialog, no questions, it just quits, there is nothing to save.
Even if you just pull the plug from jour PC halfway an edit you lose (almost) nothing, (If you have a decent jounalling file system).

The reason behind all this is that projects in blender tend to be so big that they wouldn’t fit in memory anyway and the SW developers at blender have adopted to that completely by maintaning the “master” database with “everything” on disk and loading small parts temporary from the database when they are needed.

As far as I know it also comes with “infinite” undo, well, not infinite, it only goes back unto the first object drawn in blender :slight_smile: I believe it’s database has git-like features but it’s all completely handled in the background and transparent to the user.
Very well thought out & advanced file handling.

If you don’t like my rambling’s then just ignore me, don’t start complaining.


#14

Or use any version control system. Example git or svn.

You remeber this wrong there is a normal save feature.
I just tested simply closing blender. It does not save my changes. (version 2.76)
At least not in the normal file. Maybe in some auto save file.

The save dialog is nice because pressing the + key simply increments the file name.

They spent a lot of time when they redid the complete file system on exactly this sort of feature. (A few man years went into it.)


#15

Making .zip’s with ISO8601 is a lot easiier if you don’t want to bother learning a proper VCS. It’s extemely simple, intuitive & quite effective (But I like Git).

As said before, I only toyed a bit with blender, but there was some quite nice VooDoo going on in the background. Just had quik peek at the manual. Undo is probably not “unlimited”, but you can save, mark “restore points” and a lot of other stuff.


#16

That’s exactly true, learning to adjust.


#17

So, I was working on a PCB and I thought I saved, although I admit I may have forgotten to and I closed it and when I reopened the file from the project manager it shows that _autosave-projectname.kicad_pcb,then i complete the remaining work on that file and saved it.after closing the kicad and reopen kicad the _autosave-projectname.kicad_pcb file is missing.can u give the procedure to restore that particular file.