When Git isn't good enough: Version control for enterprises

Enterprise version control solutions pick up where Git leaves off

The road to product release is forked, twisted, and winding -- anything but straight. That’s because modern product development is increasingly multidisciplinary, rapid, iterative, and geographically distributed. Art, design, prototyping, manufacturing, programming, and so forth all use different tools, yet need to work together more closely than ever before. As such, critical to success is having what agile devotees call a “single source of truth.” This means one and only one place where all of the product development content is stored, revised, secured, and synchronized, even when contributors are spread around the world.

Git has long been popular among developers, but attempts to make it work for the enterprise have evinced many challenges and spawned a variety of workarounds. The purpose of this article is to explain a few of the more salient challenges and their workarounds and to outline the shape of a better solution.

Git limitations

The largest challenge Git faces in the enterprise arguably stems from its own limitations and performance problems when dealing with large numbers of files or very large files. Git repositories become so slow and unwieldy as they grow that the largest practical size is broadly recognized as being between 1GB and 2GB of content.

This is precisely what drives the phenomenon known as “Git sprawl,” or the tendency to break what should be one large repository into dozens, hundreds, or even thousands of smaller repos. Managing so many repos introduces its own problems and has unsurprisingly given rise to a variety of tools (such as git-annex) to tame such complexity.
 
Notice to our Readers
We're now using social media to take your comments and feedback. Learn more about this here.