One project I'm working on involves continuously maintaining a base Linux disk image that gets cloned onto embedded devices.
Right now, every time a change is made, we log what we've done in a file and save a copy of the disk image. As a software engineer, however, this flies in the face of conventional practice: using tooling to handle configuration management and control.
Is there good tooling out there that can basically do this at a file level, allowing us to commit/rollback changes to the actual files on the disk for the entire system? Or alternatively, is there something that can handle a huge file better than traditional source code management tools, which aren't exactly designed for giant binary files?
We ended up putting key files in source control but not the entire system.