It is not a good idea to track compressed files with VCS. Compressed files have high entropy, making it difficult for VCS to optimise repo. I know FCStd files are basically zip files and I can always decompress them into a directory before making a commit and compress them back again but it's just too much manual work. Something can definitely go wrong in the process.
When I write commit logs, it's basically like swimming in the dark because `git diff` shows "binary file". I keep some sort of "work log" on my notepad so I know what to write on commit logs. I find this rather inefficient.
I don't know why they decided to zip everything from the get-go. I know there's no point in saying "I would've done differently", but doesn't it make sense to build things from bottom(putting everything in a directory) to top(bundled file format)? Well, I guess you can say FreeCAD worried about prior-art competitors like Adobe and AutoDesk. People are used to the single file concept. But there's projects like LibreOffice that supports .fods, so you can't say it's not possible.
What's the hold up? Why didn't anyone implement this 7 years ago? Is anyone already working on it? Or has anyone worked on it and the pull request is still open for 7 years? Please, I'd like to know because I'm about to go implement it myself.
So, to sum it up: there's problems when it comes to using VCS for FreeCAD files.
- Compressed files are not good with VCS
- It's not possible to diff FCstd files without a special tool
Here's the list of forum posts I found: