Skip to content

YoSarin/atom-local-history

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Local History for Atom

Atom package for maintaining local history of files (history of your changes to the code files).

Why?

For maintaining a history of the files revisions like mostly code editors:

Especially, I need an automated backup of my work to save me from stupid accidents... ✊

Benefits

  • Local history of a file is maintained when you create or edit a file. Each time you save a file, a copy of the old contents is kept in the local history.
  • It can help you out when you change or delete a file by accident.
  • It saves your work when you forget to commit or push your code.
  • The history can also help you out when your workspace has a catastrophic problem or if you get disk errors that corrupt your workspace files.
  • Each file revision is stored in a separate file (with full path) inside the .atom/local-history directory of your home directory. e.g: /home/nicolas/.atom/local-history/var/www/my-great-project/lib/2014-06-21_17-05-43_utils.js
  • Show diff and merge with your favorite diff tool.

Install

apm install local-history

Or Settings ➔ Packages ➔ Search for local-history

Usage

Show the history of the current file:

  • From the context menu (right click)

Contextual menu

  • Or with the command

Commands

Then, select the revision to open in another tab

Revisions list

command

  • local-history:current-file show local history of current file.
  • local-history:difftool-current-file Open the current file and a given revision file with your defined diff tool (see difftoolCommand).
  • local-history:purge purge the expired revisions (see daysLimit).

Settings

fileSizeLimit

File size limit, by default: 262144 (256 KB). The files heavier than the defined size will not be saved.

daysLimit

Days retention limit, by default: 30 days. The oldest files are deleted when purging (local-history:purge).

difftoolCommand

A custom command to open your favorite diff tool, by default: meld.

Example:

meld "{current-file}" "{revision-file}"
  • {current-file} is the placeholder replaced automatically by the path of the current file.
  • {revision-file} is the placeholder replaced automatically by the path of the revision file selected.

The actual command generated will be something like this:

meld "/var/www/my-project/my-current-file.js" "/home/nicolas/.atom/local-history/var/www/my-project/2014-07-08_19-32-00_my-current-file.js"

TODO

  • Automatic purge (triggered, max 1 per day).

Contributions are welcome.

LICENSE

MIT (c) 2013, Nicolas Tallefourtane.

Author

Nicolas Tallefourtane - Nicolab.net
Nicolas Talle
Make a donation via Paypal

About

Atom package for maintaining local history of files.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 95.4%
  • CoffeeScript 4.3%
  • CSS 0.3%