Do You Need Both Stash and Crucible?

Ishan De Silva _Personal_ February 23, 2014

Hi,

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.

Thanks,

Ishan.

6 answers

1 vote
jcurleyWR
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 25, 2014

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.

0 votes
childnode February 2, 2015

the official KB entry can be found here: https://confluence.atlassian.com/x/hQXMGQ

Eric Pederson August 27, 2018

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

0 votes
Kelly Schoenhofen
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 25, 2014

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.

0 votes
Sten Pittet
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 25, 2014

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

0 votes
Roger Barnes
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 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.

jason_s June 18, 2015

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

0 votes
Ishan De Silva _Personal_ February 25, 2014

Can someone please respond to this question?

Thanks,

Ishan.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events