Autosave - does it work?


#1

I’m working on a big project and can’t afford to lose things. I’ve a backup on an external drive where I save daily Archives, but I’m not seeing ANY sign of Autosave. It is set to 1 minute.
What am I missing?
Does Autosave not work?
I’m using a Nightly from a few weeks ago.

Application: kicad
Version: (5.1.0-rc1-44-ge6a200b09), release build
Libraries:
wxWidgets 3.0.4
libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) nghttp2/1.34.0
Platform: Windows 7 (build 7601, Service Pack 1), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.68.0
OpenCASCADE Community Edition: 6.9.1
Curl: 7.61.1
Compiler: GCC 8.2.0 with C++ ABI 1013

Build settings:
USE_WX_GRAPHICS_CONTEXT=OFF
USE_WX_OVERLAY=OFF
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_PYTHON3=OFF
KICAD_SCRIPTING_WXPYTHON=ON
KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_USE_OCC=OFF
KICAD_SPICE=ON


#2

Does it work for any of the 50 people who have read this???


#3

I am one of the people who read your post. I do not rely on autosave in any program. I use git for my backups and commit regularly. (This is why i did not answer. I simply never checked if autosave does anything.)

I know that there are .bak files generated by kicad which should safeguard against program errors. (These could be used by some users of the forum to successfully get their project back after a crash.)

I think these backup files are separate to the autosave feature. (But i could be wrong about that. So maybe check how often these are generated. If it matches your autosave interval then these could really be the autosave files.)
I do not know how kicads autosave works. If you do not get an answer here then ask over on the mailing list or the bugtracker.


#4

Same here. I also never bothered to look into the workings of the autosave feature.
I do notice KiCad seems to hang somtimes for a second or so on my 11 year old linux box, and I assume it has something to do with the autosave feature.

Checking tthe autosave feature should be easy enough by monitoring file change timestamps while KiCad is running.


#5

Autosave works as expected for me under Linux. But if there are permissions issues under Windows, it may not happen.

The autosave files are prefixed with _autosave-

addendum: If there is a permissions issue with the directory, KiCad will attempt to save the autosave file in your temporary directory (See https://www.askvg.com/where-does-windows-store-temporary-files-and-how-to-change-temp-folder-location/ for a run-down of the various places this might be).


#6

I also read your OP.

AFAIK, there was ONE nightly build where a bug also corrupted the Autosaved file. The issue got fixed REALLY QUICK (and never affected users that had installed official releases).

All of KiCads files are text based and human readable. I don’t know that you would ever be able to see an external drive light LED come on for the short time it takes to write the file.

  1. Open up WinExplorer to the folder location of your KiCad project.
  2. Make a quick change to something in your KiCad project.
  3. Wait at least the expected 60 seconds to see what file changes happen.

It would have taken a whole lot less time on your part rather than posting 10 hours ago; and you would know for yourself if your computer setup was working as expected.

I just tested the Autosave feature in Escheema and PcbNew and both programs created new files as expected at the 1 minute interval. I did not do any further testing.


#7

@Seth_h
This is true for PcbNew.

In Escheema, the prefix is "_saved_".


#8

So despite using both eschema and pcbnew all day, there was one _autosave file generated 3 days ago. None of the files I’m currently working have any _autosave or _saved.

My gripe is that this is an advertised feature with a parameter in setup. It ought to work.

I do have long term backup but no one does offsite backup every minute. The autosave is to prevent a loss of a few minutes of work, which can be non-trivial. Such a comparison mixes apples and oranges.

The specifics of the OS and build are listed in my original post.
Yes, nightly builds can be lumpy, as expected. I just wanted to know if it is possibly a bug or just me.


#9

Do you have evidence that it does NOT work?

I honestly explained that it was my interpretation that an unexpected bug (for only a few days (on a specific nightly build)) was fixed ASAP; no user of any “Official Build” were affected to my knowledge.

@iabarry How do you expect the Autosave feature to work?


#10

Apologies - I shouldn’t say nor actually gripe, that was not my intent.

There is no evidence here that autosave works in this build. I just wondered if it was some other config issue or ?
I will get a new nightly and try it again - not a problem.

My expectation is:
For any open files, with file changes/edits in progress, I would expect to see 5 (in my case) _autosave_abc.kicad_pcb and 5 _saved_abc.sch.
The time of the file write would be 1 minute after the last edit. If I walk away, there would be an autosave 1 min later.
When the file is closed, I would expect the autosaved files to remain. Subsequent edit activity would overwrite the files FIFO manner.

Doing a seach for “kicad autosave” returns a few forum posts, most of which confuse the intent of the short term autosave function and the longer term need for a good backup.


#11

@Seth_h gave you a list of places where the autosave files might be. Did you check all of them? (It was also explained to you that file permissions might be the reason for kicad putting autosaves to a different location. If you expirience this problem check what the permissions are for the directory you use. If your project is stored on a network drive then test if it works when using local storage as kicad does not always play nice with network storage.)

If no autosave files are anywhere on your system then try to update to a newer nightly and try again. (As @Sprig explained there was a problem with some nightlies. You might just run one of them.)


Nightly builds even ones with -rcx are not real releases and are not intended for productive work. (Follow both the mailing list and bug tracker closely if you use them. These builds are intended to give expert users a way to test new features and give feedback to the developers. I know the nightlies between v5 and now have been quite tame. I also used them for productive work.)


Nightlies after the v5.1 release will go back to being quite experimental with new v6 features being merged on a regular basis.
Some of these new features will definitely break forward compatibility. (Files generated by them might not be open-able with the stable or even with older nightlies.)
One such forward compatibility breaking example will be the introduction of new pad shapes that will be one of the first things to be merged after the 5.1 release.


#12

Just tested with v5.0.2 and v5.1.0-rc2 under linux with autosave set to 1 minute.

The files _saved_nameoffile.sch and _autosave-nameoffile.kicad_pcb are generated every 1 minute. All _saved and _autosave files are deleted in the moment I click the save button of eeschema (_saved) or pcbnew (_autosave).


#13

This means autosave is only there to ensure the project is saved in regular intervals not to have a history of changes. (Meaning a protection agains program crashes.)
I think @iabarry wants to have at least a bit of history preserved to be able to go back a bit if they discover their last idea was less than ideal. (This is what i get from their comment regarding a fifo stile naming.)


#14

Exactly. If a crash happens, only the last minute (or autosave interval) is lost.

As you pointed out above, git or any other version control is needed for this purpose.


#15

@iabarry - Local history of a file is not saved. But that doesn’t mean it couldn’t be. Feel free to open a bug report at https://bugs.launchpad.net/kicad requesting this feature. If someone has time/inclination to implement such a feature, it might get implemented. In the meantime, I’d recommend using git. There will be a very good talk about revision management using git+kicad at KiCon. You might consider joining us if you have time. Alternatively, after the conference the talks will be online and you can view it at your leisure.


#16

So I did a little test in KiCad V5.0.2
Modified a board and 10 minutes later the _autosave file gets created.
Whenever you do a successful save the _autosave file gets deleted again.

For me this is the expected behaviour.
_autosave is not a revision control system, it is probably only intended as a safety net against unexpected crashes of KiCad.

If I want to have intermediate revisions of a project I want them to be from timestamps I choose myself (for example before or after a complex edit) and not when I go to the toilet. I would not like it if KiCad started saving whole loads of intermediate autosave files in my project directory.


#17

Seth
Looks like there will be a number of good talks at KiCon. Looking forward to meeting you there and I hope you like my talk as well.
Barry


#18

Paul
Thanks. I’ve downloaded a new nightly and will try it out later. I can’t take any risks till I’m done with todays layout.
Barry


#19

I think that some years ago the kicad suggested recovering schematic or PCB after crash. Now the autosave file must be opened manually and it’s cleared if the original project is reopened. At least it’s how it woks for me.