3 ms·
OP is here. First, thanks for all the comments. I am not aware that Fossil supports CGI and it open a new opportunity. An important reason to use files instead
by rguiscard 3y ago
OP is here. First, thanks for all the comments. I am not aware that Fossil supports CGI and it open a new opportunity.
An important reason to use files instead of tickets or wiki is that not all my notes are in plaintext format. I unfortunately have many document in Office format. Therefore, I prefer not to use a system which solely supports text files. I need a system which can keep all the files while allow files to be opened by its application. Any system which do not have a local copy will not work well for me. Fossil does this well: it has a local copy so that files can be opened locally, it can sync to remote site, and text files can be read easily through web interface.
Another reason is that Fossil is local-first. I have written many versions of note keeping system in Rails. It is easy to start with and can be accessed easily. But migrating codes and database is not easy for someone who codes as a hobby. Keeping files in Fossil and synchronizing to other devices is just as easy as zipping all files and unzipping in another device. It is like rsync plus a web server in some sense. So instead of keeping a centralized database and maintaining it, Fossil allows me to work on files and I don’t need to worry about hosting and upgrading a database.
Of course all my comments are highly opinionated and are probably not applicable to others. It is just a demo and I appreciate all the comments. I choose Fossil because I happen to know it. I heard Hg, but never use it. So I cannot comment on the pros and cons.
- bachmeier 3y ago> So instead of keeping a centralized database and maintaining it, Fossil allows me to work on files and I don’t need to worry about hosting and upgrading a database. I think I understand what you're saying. Compared to writing a Rails app and connecting it to a Postgres database, it's easier to dump files into a directory and push them to a Fossil server. Your wording is a bit confusing. Fossil is a database. Adding a file to the repo puts it in the database. fossil ticket add status 'open' comment 'Remember to buy a cat' type 'task' adds a record to the database. You can use the fossil sql command to query anything in the repo.