Save Before Save – Gedit Plugin

A few days back, I got a mail from my friend, saying,

Subject: Versioning in Windows
Hi guys,

Does any one know a software that can version files in windows?
As simple as: There’s a certain folder of files I want to be “version” tracked, I specify the list of folders.
After this, every change I make is time-archived. So later, I can say, how did it look exactly at 3:47 am on Monday, and I get it back.

Any one has seen any s/w that can do this for me today?
Perhaps something like this, but more frequent: http://www.apple.com/timecapsule/backup.html
I remember having one like this within Google for Linux. I have a feeling they built this in the file system from scratch.

Thanks,

I replied to him about some windows software I found after some googling and also found out that there is a file system in Linux which can perform this. But changing the file system of a current system sounded “dangerous” to me. I didn’t explore much into it. I use gedit for almost all development in my machine and started wondering how hard or easy can it be to create a gedit plugin which can do this.

That resulted in the following plugin.

Installation instructions.

1. Download the latest plugin file from here.
2. Extract the files and copy the two files to ~/.gnome2/gedit/plugins
3. Open gedit and enable the plugin.
4. For the first time, configure the path where you need the backups to be stored.

TODO
1. This is a 2 hour hack. Gedit plugin’s coding convention standards (if there is anything) is not followed.
2. The time taken to save might increase if there are too many backup files. //TODO for next version.
3. A neat GUI to show the diff and all the saved versions in the backup folder.
4. An option to save diffs or the full text.
5. Format of the filename can be provided as an option to the user.

Hope you like the plugin. Please fill in your feedback as comments to this post.

2 Comments

  1. Pingback: Harishankaran

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.