Back in January we introduced smart mirroring for Bitbucket to help distributed teams by reducing clone times (as well as your list of excuses for taking a coffee break – sorry about that). At the same time, we added Git Large File Storage (LFS) for teams who need to work with images, videos, and other large media assets.

Both these features support using Git at scale, but in different ways. Smart mirroring helps teams spread across different locations, while Git LFS helps teams who need to manage large files.

Both are great on their own. But imagine Well imagine no more! We’ve combined support for Git LFS with smart mirroring in Bitbucket Data Center 4.5.

5 + 5 = …1?

To review, we started with a 5GB repo. Then trimmed it down using Git LFS. Then mirrored it between servers located in Sydney and San Francisco (a distance of 4,205 miles, according to my frequent flyer records) using smart mirroring.

These two changes took us from an original clone time of over an hour to a clone time of just over one minute.

A 5GB Git repo cloned from Syndey to San Francisco in under a minute. Yes: you read that right.

Here’s how it works. Mirroring of Git LFS objects is performed on-demand. That is, when a client requests a download of a Git LFS object from a mirror server, the object will be streamed from the upstream node only if it’s not already available on the mirror. Subsequent downloads of the same object will be downloaded directly from a copy stored on the mirror. It’s a match made in software heaven.

Don’t take my word for it

Still not convinced? Good. We welcome your skepticism! Upgrade to Bitbucket Data Center 4.5, or try it free, and find out for yourself.

Check out Bitbucket Data Center 4.5