The only issue with BitBucket Server is that it (inexplicably) does not have a commit compare view.
https://jira.atlassian.com/plugins/servlet/mobile#issue/BSER...
This is such a massive oversight I have to conclude Atlassian themselves don’t use this product.
It annoys us but not enough to pay GH.
We don’t like GitLab as it was slow when we tested it and the UI wasn’t designed as nicely as the other two (tbh it looks like it was designed by programmers). Something about GitLab feels off and I don’t really know what it is.
If MS changes the cost structure of GH Enterprise we’d probably switch back (haven’t looked into how well it integrates with Jira etc recently).
Care to explain what you would use it for?
I’m sure people involved in infrastructure are working on making this better, but I don’t have any visibility into that layer.
For thousands to tens of thousands of users, most folks need data center with 1+n nodes (w/ larger diminishing returns at 8 nodes). There's a few tips and tricks with that, like pointing CI/CD tools to a smart mirror instead of the primary instance and only mirroring specific build projects. Putting smart mirrors in the same physical location as a primary instance could also help reduce the impact of CPU-intensive requests like git fetch or clone.
Another common issue is apps/plugins. Bitbucket 5.9 added a way to get app diagnostics so infra folks can see if there's a long-running process or other weirdness. Vanilla Bitbucket needs about a 1gb heap (java) and with apps, you want around 4gb (give or take).
If you want a longer read to share, this still has some good info despite being 2~ years old: https://developer.atlassian.com/blog/2016/12/how-we-built-bi...
So with GitHub Enterprise when you push multiple commits, the webhook sends a “compare” URL which is a handy look at everything that got pushed.
It’s not possible to do the same thing with BitBucket Server.
You can compare two tags and get the same view. Or two branches. But not two commits.
Given that they acquired GH mostly for the Open Source parts, I wouldn't bet on that :/. Enterprise was Github's way of making money and that incentive is kinda reduced, if not eliminated entirely.
You can tell it is two very different teams working on it.
Atlassian is now like the Cisco of late 90s an early 2000s, an amalgamation of disparate companies' technologies under the umbrella brand.
We're working on improving that experience. I'd keep a lookout on the next few releases.
Github and Github Enterprise also fail to provide this view. They do provide a compare view for the triple-dot notation (git diff <commit1>...<commit2>) which actually compares the merge-base of commit1 and commit2 with commit2. It's not possible to do the equivalent of git diff commit1..commit2 in the web interface.
I am a fan of Github (and can appreciate their reluctance to deal with Enterprise headaches), but Gitlab was much more engaged and committed to win the contract. Github didn't seem to care whether they got it or not.