Grasshopper

algorithmic modeling for Rhino

AutoSave and Recovery in Grasshopper 0.9+

Recovery files are handled differently in Grasshopper 0.9+. They are all stored in a single Grasshopper AutoSave folder (accessible via the Grasshopper File→Special Folders→AutoSave menu). The name of each recovery file is a hash of the original filename+location and therefore not humanly readable (4F00D542-B800-8BA6-9811-AE7CEC6DD16C.gh for example).

When a new file is opened and a matching recovery file is found in the AutoSave folder, a message will pop up offering this information along with three options:

  1. You can choose to open the recovery file instead of the original file, this will not overwrite the original file until the file is saved for the first time. Basically, the recovery file thinks it is the original file.
  2. You can also save the recovery file under a different name, after which the original file is opened. This is obviously the safest approach, as no data is lost or in danger of being overwritten. 
  3. Ultimately, you can choose to ignore the recovery file and just open the original file. In this case the recovery file is actually moved into the recycle bin before a new recovery file would overwrite it, so it is not in fact lost forever.

Comment

You need to be a member of Grasshopper to add comments!

Join Grasshopper

Comment by roderick read on March 27, 2015 at 3:28pm

Just lost 3 or 4 hours work. I set patch surface tolerance too low and the system stalled ... egg timer running grasshopper goes a bit pale... after a long long time I decided to close grasshopper and the crash reported through windows... but nothing in grasshopper got saved at any point.. OK I am silly for not having saved anything in 3 hours... But I have auto save turned on... The most recent file in my auto save folder is a year old. grasshopper hasn't auto saved in a year? can't be right...

Can the recent file be anywhere else?

Comment by Tim Meyers on October 31, 2014 at 2:42pm

Maybe I'm the only one with this issue, but the system appears to be flawed. I've had multiple occasions where Rhino or Grasshopper has crashed and the autosave file is not recognized. I have looked in the folder and no recent files exist. Kind of defeats the purpose of autosave if the file is immediately deleted. Is there a way to assure that the autosave files are kept for an extended period of time? Maybe the 3 file system that 3ds max uses? Save 3 successive files over time, saving over the oldest of the 3 files each time?

Comment by Stephan Park on June 26, 2014 at 11:04pm

I'm running 0.9.0075 and these bullet points only confirm my suspicion that the recovery logic may have missed a couple things.  "recovery file thinks it is the original file" is the line the gave me pause and reassurance that I may be right about a flaw in Grasshopper recovery behavior.

Here is my very frustrating use case scenario.

Much work had been done so file was saved.  Started testing behavior...immediately there is a crash.  Restart Rhino, no recovery message as no physical assets changed from last save.  Restarted Grasshopper plugin, no request for recovery (none recalled).  File reference clicked (didn't know about "recovery...thinks original file" bit).  Started working on another area of map as I had saved just prior to crash...another task completed so saved file prior to test.  Testing results in error repaired hours ago.  Checked the cluster where work was fixed prior to crash and find it is half finished work as if an autosave took a snapshot, it was a recovery file data.  Due to saving after crash, an hour of work was lost.  Not a big deal but is IMHO an error in assumption on the recovery logic design.

The "recent" file UI blocks are supposed to help improve usability, not confound and deter.  I think Grasshopper's current behavior is obviscating errors in assumption and would recommend Grasshopper dev team replicate expected behavior from the host application such as recoverying to a new file reference instance and NOT "recovery file...original file" flaw.  Only upon direct user save OVER the original file does the recovery file OVERWRITE original file (as Rhino).  And in the least, Grasshopper should check if recovery data is older than a human saved file.  Which is just didn't in my case, showing in another crash situation file is "4 hours old" when I has save 5 seconds ago for example.

© 2018   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service