Irina has posted 29 posts at DZone. View Full User Profile

Using Local History to Restore Deleted Files

02.08.2008
| 11033 views |
  • submit to reddit

Have you ever experienced this disappointment, when you suddenly find out that some of your most indispensable files are lost? You might have fallen into this trap while synchronizing your local working copy of a project with the repository, or making some very last change before commit and breaking something else, or just accidentally deleting or overwriting a file. Well, you can try to restore the deleted files from your version control system… but it goes only as far as tracking the committed revisions. You can also try to rummage about the recycle bin, and lucky you are, if your files are still there…

This is where IntelliJ IDEA’s local history on the project or folder level comes to help. With this effective feature, you can bring back your files without leaving IDEA. Local history for a project or folder preserves all modifications that affect the nested files, including the changes to the contents and to the file tree in general. Each change is marked with its time stamp, revision, and action description. Unlike version control that keeps track of the committed revisions only, the local history preserves all local changes you make as you edit, compile or test, during few days (it is up to you to define how long you want this history to be). This “personal version control” will help us restore the deleted file.

In the example below, a file Lost.txt has been deleted from the FontChooser project. Let’s try to restore it. Go to the Project tool window and right-click the project node or just a folder, where the file used to exist:

On the context menu, choose Local History, and click Show History on the submenu:

The local history view for a project or folder shows you everything that you have done during the last few days. In the Action column of the lower part of the dialog box, select the action you want to roll back. In our case, this is the “Deleting” action. So doing, the upper part of the dialog box shows the tree view of changed files.

If you want to restore the deleted file only, regardless of the other changes that have been done since then, you can select the file Lost.txt in the tree view and click the Revert button on the upper toolbar. The file will be restored silently.

A different situation occurs, if you want to restore the deleted file and the whole project or folder state as of a certain revision. In this case, place the cursor on the revision prior to the “Deleting” action, or on the action itself, and click the Revert button on the lower toolbar.

If the other files have been changed since the “Deleting” action, you will be prompted that the other changes will be reverted too. Look again at the Project view – our file is here:

Published at DZone with permission of its author, Irina Megorskaya.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)