Bitbucket vs Upsource: What are the differences?
What is Bitbucket? One place to plan projects, collaborate on code, test and deploy, all with free private repositories. Bitbucket gives teams one place to plan projects, collaborate on code, test and deploy, all with free private Git repositories. Teams choose Bitbucket because it has a superior Jira integration, built-in CI/CD, & is free for up to 5 users.
What is Upsource? Self-hosted Git, Mercurial, Subversion and Perforce repository browser and code review tool. Upsource summarizes recent changes in your repository, showing commit messages, authors, quick diffs, links to detailed diff views and associated code reviews. A commit graph helps visualize the history of commits, branches and merges in your repository.
Bitbucket and Upsource can be categorized as "Code Collaboration & Version Control" tools.
Some of the features offered by Bitbucket are:
- Unlimited private repositories, charged per user
- Best-in-class Jira integration
- Built-in CI/CD
On the other hand, Upsource provides the following key features:
- Instantly access all your projects
- Keep track of code changes
- Use code insight in Java projects
"Free private repos" is the top reason why over 896 developers like Bitbucket, while over 13 developers mention "Free for 10 users" as the leading cause for choosing Upsource.
According to the StackShare community, Bitbucket has a broader approval, being mentioned in 1749 company stacks & 1492 developers stacks; compared to Upsource, which is listed in 3 company stacks and 4 developer stacks.
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.