Do You Need Both Stash and Crucible?


My company has been using Jira for approximately 4 years now. We are now evaluating the rest of the Atlassian ALM tool chain such as Confluence, Stash etc. (We are almost certain to go ahead with Confluence)

One question we have is whether we need both Stash and Crucible. From what I gathered so far, Stash also offers a code review facility, but is that only limited to reviews of pull requests? An answer on this page says that "If you are using Git, Stash is the only tool you will need going forward". It's not clear from this answer whether Stash makes Crucible redundant (with respect to Git) and hence this qeustion.

Our code review requirements include:

  • Enforcing pre-commit reviews, especially for junior developers and critical fixes
  • Performing post-commit reviews for training and sharing of best practices etc
  • Reviewing older code bases to identify potential for refactor and re-engineer

We are using Git to manage our code.



6 answers

I think the "to crucible or not to crucible" depends on your branching style and your procedures. People usually use the pull request feature to protect their integration or release baselines.

Our reviews happen before pull request, because we also require builds and tests to be run before a pull request is considered. The pull request review is to plan the order of integration and make sure the builds and tests were completed.

So, it depends on your process. If your process is less rigorous, you may not need crucible.

Can someone please respond to this question?



0 votes
Roger Barnes Atlassian Team Feb 25, 2014

Hi Ishan,

Apologies for the delay, I wanted to answer after Stash 2.11 was available (which it is now) as it has some new features relevant to your question.

Crucible and Stash do work together, and if you want the style of code-review that Crucible provides, then you can certainly use it. From a Stash perspective, we think that pull requests offer lightweight review functionality that covers most situations. When it comes to pre-commit reviews or reviewing older code, there is not a formal, structured concept of a review, however in Stash 2.11 it is possible now to comment on any commit, so this might suit your needs.

Also, for early reviewing, you can create a pull request early on in development and indicate that the intention is for review, but not for merging yet. We are looking at improving this process in the future.

>we think that pull requests offer lightweight review functionality that covers most situations. I'm finding that this isn't the case. :(

Hi Ishan,

I'm a Product Manager at Atlassian working on Crucible. Hopefully my answer will help you make a choice.

In your current scenario I'd suggest to keep Crucible around as Stash doesn't support pre-commit reviews and ad-hoc reviews of past commits. Post-commits reviews can be done in Stash when you merge your branches via the pull requests but I need to know more about your development workflow to see if it would fit you.

If you wanted to keep Stash only you could use branch permissions to protect the main branches from changes made by Junior developers but you would not have a proper way of reviewing older code changes.

Let me know if you have more questions,

Sten Pittet
Dev Tools Product Manager

We're a split shop - Stash pull-request code reviews are stealing more and more of our Crucible users away. I suspect that Stash will eventually remove our use of Crucible (or at least downgrade our license), based on the last 12 months of improvements to Stash.

Pre-commit reviews are frequently cited as why Crucible is still neccessary; however that only holds true when you're not doing branch based development. Once you start doing feature branches, there's virtually no desire to do pre-commit reviews. The pre-commit model is mainly around "let's review your changes before you push them to master". If you're using feature branches, you want the developer to commit and push their changes to their feature branch on the git server, and have your CI system build and test their branch before anyone reviews anything. It's more accurate to say you want a code review pre-merge, not pre-commit.

Once your workflow has stablized into a pattern, you will usually only want code reviews before they merge their changes back to "trunk" (master, develop, whatever your workflow has decided). That's where pull request code reviews & Stash come in.

That KB entry is terrible.  I can't understand what the heck it's supposed to be saying.

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Mar 14, 2019 in Bitbucket Pipelines

Building a Bitbucket Pipe as a casual coder :  #!/bin/bash source "$(dirname "$0")/" enable_debug extra_args="" if [[ "${DEBUG}" == "true" ]]; then extra_args="--verbose" fi # mandatory variables R...

288 views 0 12
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