inside the mind of a linux admin

Source control != File system

If you find yourself wanting or considering checking binary files into your source control system (Git, SVN), you’re doing it wrong.

Source control is optimized for tracking changes to source files. When you have multiple revisions of a source file, the system has stored the original file and the changes between revisions. This is good.

When you check in a binary, you’re just keeping a separate copy of the binary for each revision. There’s not going to be any valid purpose or use case for seeing a bunch of binary garbage in source control. I’ve seen others do this, and I’ve even heard suggestions from colleagues within my own organization to do this. DON’T. It’s called source control for a reason, not binary control.

If you want a file system or a repository for your binaries, provision one. Using your source control system in this manner makes for a very expensive file system. You also don’t want to increase overhead and storage while decreasing performance of your source control system.

Related Posts

Touchpad stops working after sleep + resume (Fedora 26 on Dell XPS)

After recently upgrading my Dell XPS 13 w/Touchscreen to Fedora 26, the touchpad suddenly stopped working upon resuming from sleep mode. It was reproduced 100% of the time, and required a complete restart in order to get the touchpad working again. There have been several forum posts and bug reports regarding others experiencing these exact […]

Read More

Fun with fsck on Fedora – avoiding mounted partitions and handling LUKS encrypted ones

I run Fedora on a few of my machines, and inevitably over the course of time the filesystem will need to be repaired because of orphaned inodes, wrong free byte counts, etc. Typically when EXT4 errors are detected during boot, Fedora will detect this and offer to drop you into “Emergency mode” or continue. example: […]

Read More

Leave a Reply

Your email address will not be published. Required fields are marked *

Twitter: kireguy

Tweeter button Facebook button Myspace button