Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Git/Stash vs Git/Fisheye/Crucible

darren_gibbons
Contributor
January 25, 2013

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

5 votes
Answer accepted
darren_gibbons
Contributor
July 7, 2014

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.

raulgd July 21, 2014

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.

8 votes
Jens Schumacher [Atlassian]
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 26, 2013

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.

Cheers,
Jens

Deleted user February 26, 2013

Clearest answer I have got so far :) Cheers!

Andrew Morin
Contributor
May 1, 2013

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...

Thanks

Andrew

Andrew Morin
Contributor
July 23, 2013

Jens,

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?

Thanks

Andrew

7 votes
jhinch (Atlassian)
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
January 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.

Wipf_Markus July 6, 2014

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?

Stefan Saasen
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
July 7, 2014

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 - https://jira.atlassian.com/browse/STASH-2511).

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

Philip Cheong
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
June 30, 2015

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 :)

1 vote
Rafał Magda
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
September 21, 2014

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
Philip Cheong
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
June 30, 2015

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.

Jay Se
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
December 9, 2015

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.

0 votes
markdemich September 2, 2015

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.

 

 

0 votes
Andrew Morin
Contributor
July 23, 2013

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.

0 votes
Deleted user July 23, 2013

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.

0 votes
darren_gibbons
Contributor
March 3, 2013

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.

0 votes
Deleted user February 25, 2013

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"?

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.
January 28, 2013

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

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events