When working with Oracle JET over the last few years, I’ve used a number of different editors and IDEs. Everything from Sublime, VS Code, Eclipse, JDeveloper, NetBeans, and of course the old standby, Notepad++. Even vi at times.

I always seem to find myself returning to NetBeans in the end. This is for a number of reasons, but the least of which is the local history feature.

I was recently working on a simple update to a single html file. Nothing special, but it was an extended amount of work with images and formatting that was going to take a few days. I decided to use a different editor than NetBeans because I wasn’t going to need to build anything, or need things like code completion, etc. The file was checked into an SVN repository. I was bouncing between a computer at home and on my work computer while traveling. I would commit my changes when moving between the computers. Pretty routine and simple stuff.

As tends to happen at times when everything seems to be going smoothly, Murphy raised his head and said, “hey, not so fast there buddy”. Out of complete stupidity on my part I had not checked in some work I had done previously on my home computer and decided I would just work on another portion of the file while on a flight then merge things later. I did about two hours of work before landing, saving often of course. When I went to merge things I really screwed things up and ended up overwriting everything that I had done on the flight. Two hours of work gone.

Now I’ll admit I’ve done this before. What was different this time though was that this other editor that I decided to use, had no concept of local history other than the simple undo ability while editing. Once I had saved and closed the file, all of that history was gone. If I had been using NetBeans, all of my work would have been right there in the files history tab. I could have simply reverted that merge screw up to a local version and then started the merge again. No happy recovery was going to happen this time though.

Needless to say, when I started over rewriting that two hours of lost work, I did it using NetBeans.

Below is a short video showing the local history feature in NetBeans and how it mixes your local save history with the SCM of your choice. I hope it helps someone else from loosing valuable work in the future.