Giter VIP home page Giter VIP logo

atom-local-history's Introduction

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

atom-local-history's People

Contributors

nicolab avatar jp187 avatar

Watchers

James Cloos avatar Martin Jurenka avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.