Git/Stash vs Git/Fisheye/Crucible

Hi all,

We're long time Jira users (nearly 10 years!) and GreenHopper for the past 3 or 4.

We're migrating our source control over to Git from SVN, and would like to make code review part of our standard development process.

We've been looking at Crucible (with SVN) for a while now, and ran a pilot project that saw some success with a 3 person team. We were thinking of purchasing a license for Crucible/Fisheye, but the release of Stash and the direction that Atlassian seems to be going with Stash has caused some confusion.

Here's my read of the situation:

  • Fisheye/Crucible will still work with Git in the future for searching/browsing source code and doing code reviews. Fisheye will drop the Git repo mgmt features (create new repo, etc.)
  • Stash provides "lightweight" code reviews via "pull requests", similar to how GitHub works.
  • Stash provides source code browsing functionality
  • Stash provides repo mgmt functionality, as well as LDAP integration with AD

Is this correct?

Now, for us:

  • I don't really care too much about the Stash Git repo mgmt features. All our developers are trusted would have admin access anyways, so the ability to restrict access on a branch doesn't really buy us much. The web UI for creating repos is nice, but creating a repo "by hand" isn't that difficult. Am I missing anything here?
  • Crucible's code review functionality worked fairly well. We never saw massive uptake in it, but I suspect these are for cultural reasons that I hope we can change. Stash's "lightweight" code review looked like it would meet our needs, but I'm always concerned when I hear "lightweight" as I wonder which critical features (that will only appear once we've used it for a month) show up missing.

Given these two points, I'm leaning towards purchasing Fisheye/Crucible. However, I can't shake the nagging feeling that the recent Git deprecation in Fisheye is a sign of future things to come, as more Git functionality gets added to Stash, and Fisheye/Crucible stays stuck in the centralized SVN world.

Can anyone provide any guidance here? What are other organizations doing? Are there any development case studies showcasing how Stash is being used in the Real World™?

10 answers

1 accepted

As the original person who posted this question I thought I'd post a follow-up.

Overall, our experience with Git/Stash has been very positive, a year and a half later.

It did change the way we do code reviews - we have moved to a pull request based workflow (where it makes sense) but are not dogmatic about it. This process has worked well, especially when reviewing code from new team members.

The ability to comment on commits outside of a pull request addresses our needs for ad hoc review.

I think we made the right choice. I still would like to see some of the reporting features of Fisheye/Crucible brought over, but it's not critical to how we work.

I'd also like to add that, for those like me who need a formal code review process because of regulation, it would be nice to link Stash/Git commits and pull requests with Crucible review IDs so you can easily trace back and forth on peer reviews.

Hi Eirik,

Stash has been designed around DVCS and Git in particular. If you are using Git, Stash is the only tool you will need going forward.

If you are using SVN or any other version control system alongside Git, FishEye and Crucible provide a great way to perform code reviews against these systems and allow you to browse and search across your entire source.

Hope this makes it more clear and please let me know if you have any further questions.


Clearest answer I have got so far :) Cheers!

Hi Jens,

We are actively in this same process. I have moved 11 of 89 Subversion repositories to Stash/Git. We are still using are old processes which don't include pull requests. Is there anyway to iniate a code review after a push on the change set? If not will you expand the ability to create or request code reviews that are not dependent on pull requests? We already Fisheye/Crucible and continue to use Crucible for our code reviews but as we get fully migrated I'd like to think your statement regarding Stash will be the only tool you'll need to be true...




I am a little behind on Stash upgrades. We have been using F/C with SVN for years along with 5 or 6 other Atlassian apps. I guess my question is will it be possible to create code reviews in Stash without creating a pull request? This currently does not fit our process and not sure it ever will. So when a developer pushes a change can he then create a code review on that change set. If not now ever?



7 votes
Jason Hinch Atlassian Team Jan 26, 2013

It really depends on what functionality you need out of either product. Stash is currently positioned as a repository management and browsing solution for git with pull requests and in the future we'll be adding more workflow related features. FishEye/Crucible however provides SCM agnostic repository browsing, search and code review and analysis. Although the repository management feature has been removed from FishEye (superseded by Stash) FishEye will continue to support git as well as SVN (which you mentioned you were moving from).

If you are only partially through your migration from SVN to git and require a solution which works with both or you are interested in deep code analysis and search FishEye/Crucible may be a better product for you in the short term.

On the other hand if you are completely moved to git or using it for most of your repositories and need a product to provide code review and facilitate workflows you are most likely better with going with Stash. In the longer term, Stash is going to be your best bet as it will add more functionality which is going to enhance your use of git.

Disclaimer: I'm a developer on Stash and I was previously a developer on FishEye/Crucible.

It's quite a while since this answer. Right now we are exactly in the discussion if Stash will provide review functionality without using pull requests. Is there any update about the statement that Stash will add more functionality?

Markus, one thing we added since this discussion happened is the ability to comment on commits outside of a pull request (since Stash 2.11 -

We currently don't have plans to add more generic review functionality in Stash (outside of pull requests).

Also, reviews created via pull requests must occur between branches. If you want to create a review between the head of one branch and an arbitrary commit you just need to create a new branch at that commit. This method allows you to create a review between any two essentially commits, which is another way to perform ad-hoc reviews. You probably don't want to click the merge button though :)

I was using Crucible for years. In my current company we have Stash.

In stash I really miss Crucible features like:

  • show annotation - which change come from which author/commit
  • set commit ranges to see changes between different versions (in the same code review). In stash there is just a "diff" and list of commits. Sometimes there are 2 commits - first one with formating changes and the second one with "logic" changes. It is not easy to go to separate "commits" view page
  • when giving a comment It was very useful to attach it to multiple lines

Agreed the biggest problem of stash is it's limited functionality, especially for involved/complex reviews. However saying that, if you have a lot of involved/complex reviews, then that is a problem in and of itself. So why I would like to see better functionality to assist reviewing (like the simple ability to "unread" a file in a PR so that it becomes bold text again), I do also appreciate the fact that limited functionality encourages you to do smaller changes that are easier to review.

I previously worked with stash but my current company uses crucible. All of those features are available in Stash and apparently they are in crucible but I have had trouble navigating crucible to find them. This seems like a situation where people just like what they're used to. My confidence in the product management teams at Atlassian is weak at best. No clear direction, SourceTree was a neat idea until it became a circus freak of weird UI principles.

@dgibbons, could you detail your requirements for code review? It would help to give you the best recommendation possible.

I haven't looked enough into it, but one thing I think is good with Crucible is that you can get data on your review coverage of the code. Not sure if Stash have it - yet...

I would like some better answers from the Atlassian guys. Yes, of course it depends on requirements, but the tools were also made with a purpose in mind. If we know what the tools are specifically made for, then I think that would help a lot in deciding.

Of course it could be historical reasons: At some point there was a lot of talk about code reviews, so we got Crucible and CodeCollaborator. Then we had hosting services like Github, Bitbucket, Gitorious, and so on, and some eventually added other features. Github now has browing, a wiki, an issue tracker - the world is changing.

My question is: Is Stash created to supplement or replace Fiseye/Crucible for specific use, or is it made to "keep up with what competitors are offering"?

Since we have decided to switch to Git, we bit the bullet and went with Stash. So far we are still working out the best approach to integrating code review into our process. For most cases the pull request approach works, but in others (e.g. ad hoc code reviews on specific areas) it's less useful.

I also miss the data available from Crucible. Hopefully that gets added soon.

Overall I still think this is a bit of a product management failure on Atlassian's part. Customers shouldn't have to guess which of your products to use.

I second Darren's sentiment. This situation demonstrates a lack of strong leadership in Atlassian product management, and reflects the culture of engineer-driven product development. That sort of approach was fine when the customer base was SMEs and open-source projects, but enterprise customers deserve a clearly defined product roadmap and a suite of seemlessly integrated solutions.

I orginally got Stash for the AD support only. Git does not provide this support in anyway. The other features at this time are a bonus as we have F/C. I am still in the migration process of SVN to Git. Not sure of the Git code review feature yet as it is tied to pull requests which are not part of our current process.

My team is using both and sometimes it's a bit awkward.  We basically use Stash with pull requests for every commit.  We're using gitflow with feature branching for this.

However, we've found that if a developer is working on something large that will take several back and forth cycles with code review, pull requests are not the answer, but fisheye and crucible are.  Some of the features in fisheye/crucible that don't exist for pull requests are as follows.

  1.  Being able to review and entire feature branch in it's entirety prior to making the pull request.
  2. Signalling that the review is done reviewing.  For pull requests, each comment is sent independently and the reviewee has no idea when you're done.
  3. After addressing some comments and re-committing, pull requests to let the review easily see the changed files unless they look at the last commit.  If there are several commits since he last reviewed it's even more difficult.  Crucible highlights all the files that have changed since you last reviewed.

Anyway, that's my two cents.



Suggest an answer

Log in or Join to answer
Community showcase
Bridget Sauer
Published Mar 09, 2018 in Jira Service Desk

E.L. Fridge's take on education, Jira Service Desk, and creative Jira use cases

...word of mouth, so by 2016, we were working with several other entities on campus to implement Jira Service Desk . The Atlassian motto of “for every team” has really come true for us in this case. We...

335 views 0 9
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
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot