Emacs produces a backup of each file by default. It does this by
appending a tilde to the file's name. For example, Myfile.txt is backed up to
Myfile.txt~. It's a reasonable strategy, assuming that
a Version Control system is in place.
But in the absence of version control, you're limited to restoring just the previous version; older versions need to be restored from backup.
I use git for coding projects that I share to the public. But I
didn't create a repository for my home directory. So when
C-c a m TAG1 generated an error instead of a list of
TAGged items, I hoped fervently that the latest init file change was
to blame.
After finding and fixing the problem quickly, (and realizing I was lucky this time), I resolved to be more diligent about disaster recovery. I looked into what backup schemes Emacs already provides.
Emacs can create unique backups for a file rather than overwriting the previous backup. When Emacs sees a numbered backup for a given file, it will make a new, sequentially-named file for each backup of that file, while continuing to use the "append tilde" method for other files.
Once I renamed (or copied) .emacs~
to .emacs.~1~, Emacs created backups
named .emacs.~2~, .emacs.~3~ (and so on).
I didn't even need to change a variable -- when Emacs
detected .emacs.~1~, it knew that backups
of .emacs needed to be numeric, so it acted
accordingly. Emacs continues to use bills.org~ as the backup
for bills.org. Until I tell it otherwise.
Read the Emacs Manual to learn more about numbered backups.
1 C-c a m invokes org-tags-view
The default values for the pertinent backup variables are:
make-backup-filesis tbackup-by-copyingis nilversion-controlis nil

No comments:
Post a Comment
Thank you for taking time to comment. Please note that comments may be deleted if they:
* Contain link(s) to a domain outside USA or Canada or to a commercial enterprise.
* Include non-English words or characters.
* Are irrelevant to the subject matter of the post.
For posts older than 14 days, comments are moderated and require approval.