Need advice about which tool to choose?Ask the StackShare community!
Bitbucket vs Gerrit Code Review: What are the differences?
Key Differences between Bitbucket and Gerrit Code Review
Bitbucket and Gerrit Code Review are popular tools used in software development for managing code repositories and facilitating code reviews. Although they both serve similar purposes, there are several key differences that set them apart.
Integration with Git vs. Custom Version Control System: Bitbucket is built on top of Git, a widely used distributed version control system. It provides seamless integration with Git, allowing developers to easily manage their code repositories using familiar Git commands. In contrast, Gerrit Code Review has its own custom version control system called "PolyGerrit," which is specifically designed for code review workflows.
Code Review Workflow: Bitbucket offers a more traditional code review workflow, where reviewers can leave comments directly on the code changes and collaboratively discuss the changes before merging. On the other hand, Gerrit Code Review introduces a more strict and structured code review process by providing a Gerrit-specific web interface for reviewers to review and score code changes. This workflow allows for finer-grained control over code quality and enforce stricter coding standards.
Access Control and Permissions: Bitbucket provides a flexible and granular access control system, allowing administrators to easily manage user permissions at the repository, branch, and file level. It also integrates with popular identity providers such as LDAP and Active Directory. In contrast, Gerrit Code Review focuses on a more fine-grained access control system, where permissions can be set on a per-branch or per-project basis. It also provides built-in support for integrating with external identity providers.
Support for Continuous Integration and DevOps: Bitbucket offers built-in continuous integration and continuous deployment capabilities through its integration with tools like Jenkins and Bamboo. It allows developers to automate their build, test, and deployment processes directly from Bitbucket. In contrast, Gerrit Code Review does not offer native support for continuous integration or deployment tools. However, it can be integrated with external CI/CD systems using plugins or custom integrations.
Code Search and Analytics: Bitbucket provides powerful code search capabilities, allowing developers to search for code snippets, files, or specific lines of code within their repositories. It also offers built-in analytics and reporting features to track code contributions, reviewer activity, and other metrics. In contrast, Gerrit Code Review does not have native code search or analytics capabilities. However, it can be integrated with external code search tools or analytics platforms.
Commercial vs. Open Source: Bitbucket is a commercial product offered by Atlassian, a software company specializing in team collaboration tools. It comes with a range of pricing plans and support options. On the other hand, Gerrit Code Review is an open-source project and is available for free under the Apache License 2.0. It is maintained by a community of contributors and can be self-hosted or deployed on cloud platforms.
In summary, Bitbucket and Gerrit Code Review differ in terms of their integration with Git, code review workflow, access control and permissions, support for CI/CD, code search and analytics features, and their pricing models (commercial vs. open source). Choosing the right tool depends on the specific needs and requirements of the development team or organization.
Do you review your Pull/Merge Request before assigning Reviewers?
If you work in a team opening a Pull Request (or Merge Request) looks appropriate. However, have you ever thought about opening a Pull/Merge Request when working by yourself? Here's a checklist of things you can review in your own:
- Pick the correct target branch
- Make Drafts explicit
- Name things properly
- Ask help for tools
- Remove the noise
- Fetch necessary data
- Understand Mergeability
- Pass the message
- Add screenshots
- Be found in the future
- Comment inline in your changes
Read the blog post for more detailed explanation for each item :D
What else do you review before asking for code review?
One of the magic tricks git performs is the ability to rewrite log history. You can do it in many ways, but git rebase -i
is the one I most use. With this command, It’s possible to switch commits order, remove a commit, squash two or more commits, or edit, for instance.
It’s particularly useful to run it before opening a pull request. It allows developers to “clean up” the mess and organize commits before submitting to review. If you follow the practice 3 and 4, then the list of commits should look very similar to a task list. It should reveal the rationale you had, telling the story of how you end up with that final code.
Pros of Bitbucket
- Free private repos905
- Simple setup397
- Nice ui and tools349
- Unlimited private repositories342
- Affordable git hosting240
- Integrates with many apis and services123
- Reliable uptime119
- Nice gui87
- Pull requests and code reviews85
- Very customisable58
- Mercurial repositories16
- SourceTree integration14
- JIRA integration12
- Track every commit to an issue in JIRA10
- Deployment hooks8
- Best free alternative to Github8
- Automatically share repositories with all your teammates7
- Source Code Insight7
- Compatible with Mac and Windows7
- Price6
- Login with Google5
- Create a wiki5
- Approve pull request button5
- Customizable pipelines4
- #2 Atlassian Product after JIRA4
- Unlimited Private Repos at no cost3
- Also supports Mercurial3
- Continuous Integration and Delivery3
- Mercurial Support2
- Multilingual interface2
- Teamcity2
- Open source friendly2
- Issues tracker2
- IAM2
- Academic license program2
- IAM integration2
Pros of Gerrit Code Review
- Code review13
- Good workflow11
- Cleaner repository story10
- Open source9
- Good integration with Jenkins9
- Unlimited repo support5
- Comparison dashboard2
Sign up to add or upvote prosMake informed product decisions
Cons of Bitbucket
- Not much community activity19
- Difficult to review prs because of confusing ui17
- Quite buggy15
- Managed by enterprise Java company10
- CI tool is not free of charge8
- Complexity with rights management7
- Only 5 collaborators for private repos6
- Slow performance4
- No AWS Codepipelines integration2
- No more Mercurial repositories1
- No server side git-hook support1