Is the 'bitmaps' Git functionality to optimize server side performance (e.g. git clone) supported by Bitbucket Server?

I understand that 'bitmaps' was implemented in core Git during 2015, and this can give major improvements to server-side performance for some operations including clones. Please can you let me know if Bitbucket Server leverages this?

2 answers

1 accepted

After asking one of the Atlassian people at Atlas Camp 2016, I received the following answer:

"Since we still support Git 1.8 on the server, we don't (currently) write any special configuration to enable bitmaps. It is not enabled by default, so no not yet. But they should be able to enable bitmap support on their server in the global git config and it would work".

 

Bitbucket Server uses whatever version of "git" is installed in the host operating system.

 

If you go to the "Support Tools" section under Admin (/plugins/servlet/stp/view/), and click on "System Information," you can see the Git version that your instance is using.  Here's mine:

 

Git

    Path /usr/bin/git

    Version 1.9.1



According to git's own documentation, "pack.useBitmaps" defaults to true:

pack.useBitmaps

When true, git will use pack bitmaps (if available) when packing to stdout (e.g., during the server side of a fetch). Defaults to true. You should not generally need to turn this off unless you are debugging pack bitmaps.

https://git-scm.com/docs/git-config/2.1.3

 

And since I get no match on a full grep of Bitbucket's source code for the term "useBitmaps," I presume git's default wins.  But you might want to verify by investigating data over the wire.  I'm not sure how you would do that.

Thanks. That's true, but it doesn't really answer my question. Just because I have a recent version of Git installed does not necessarily mean that Bitbucket Server supports all the available functionality associated with that version. I believe that 'bitmaps' are not switched on in core Git by default. I expect people who are involved in Bitbucket Server development will know if they have implemented anything with this. 

edited answer based on your comment

Thanks again smile my hope is that the nice people at Atlassian should be able to state somewhere what the status of this is without me having to go and investigate. They don't usually hold back when it comes to pointing out performance enhancements, and bitmaps can make a really big difference, it is said.

You may be right and Bitbucket Server is forking out to the native Git and running server side clones with useBitmaps = true. I'm skeptical though until I know for sure.

Suggest an answer

Log in or Join to answer
Community showcase
Piotr Plewa
Published Dec 27, 2017 in Bitbucket

Recipe: Deploying AWS Lambda functions with Bitbucket Pipelines

Bitbucket Pipelines helps me manage and automate a number of serverless deployments to AWS Lambda and this is how I do it. I'm building Node.js Lambda functions using node-lambda&nbsp...

716 views 0 4
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot