Timedog is a command line tool that watches your working directory for changes and creates restore points. It’s less than a week old and wholly untested on Windows, but I’ve been using it on my Mac while I develop and it’s helped me avoid redoing work several times. It’s also particularly useful for identifying steps to reproduce crashes. In any case, here’s how you use it:
- Get it from https://github.com/piinecone/timedog
- Follow the installation instructions (post here or on github if you’re stuck)
timedog watch 60to check for changes / create restore points every 60 seconds
timedog listto list all possible restore points
timedog restore 2to restore your working directory to the restore point #2
timedog cleanto delete all restore points (backups use symlinks where possible to preserve disk space, but you’ll still be using at least 2x the space your project)
If you encounter a crash that corrupts your files,
timedog list and
timedog restore 1 (or whatever) to get back to the last known good state. You can then identify the specific steps to reproduce the crash and create an archive of the project in its pre-crash state, as well as avoid the steps that cause the crash and continue development. I’m fond of not losing work and helping the Epic devs better identify crash cases.
I’ve been encountering a lot of crashes using Blueprints lately. I haven’t been able to determine the specific things I’m doing wrong, or which Blueprint features are unstable, so it’s been difficult for me to avoid crashing. Often enough, a particular Blueprint will become corrupt and I’ll lose a day or more’s worth of work (depending on whether or not the crash coincided with a nice commit point). My bug reports are essentially useless because the steps to reproduce them are a best guess.
There are a lot of shortcomings with the tool at the moment but I’ll be improving it constantly. I will also ensure it works on Windows soon, I just haven’t gotten to it yet. It will be the first thing I do the next time I work on my PC. Feedback, comments, snacks, and pull requests are welcome.