Sunday 2021-05-09
A few weeks ago I accidently deleted the index.gmi for my Gemini capsule and I reminded myself that I should always have a remote backup process in place for any project. This was the result of my trying to test the gemblog.sh tool for creating an atom feed file for my capsule. So instead of doing the smart thing and making a backup of my capsule files and testing gemblog.sh on the backup, I tested on production content which overwrote my main index.gmi file. Thankfully, this was not too hard to recreate since it was mainly links to other gemini files.
Today, I decided to add fossil versioning to the directory containing my gemini capsule to prevent the problem above from happening again. Now, it would have been smart to learn from the mistake I made previously and make a backup copy and then test on the backup. No, I didn't do that. I did make a backup directory in my home and copied all of the capsule files there first. Afterwards, I opened the emtpy repository in the directory and all of the gmi files were gone. I thought, oh that is fine I still have the backup. After changing to the backup directory, I saw that it was empty too.
After looking at the history, I realized that in my hurry, I opened the same empty repository in both directories (main and backup) deleting all capsule content before I commited anything or pushed to the remore repository.
Resisting the urge to try to find something else to blame other than myself, I decided to look at this experience as opportunity for me to learn how backups should not be an afterthought but rather part of the implentation plan from the start.
I should have known better. I work in IT and I have frequently told other people that it is not a matter of if you will loose your data but rather when you will loose your data and need backups.
So, now my capsule is using fossil version control as I write this, my first post (again).