Tree view for navigating pull requests

Issue #10963 resolved
Shea Daniels
created an issue

I've just started using Bitbucket after being a solid Bitbucket Server (Stash) users for over a year. The Stash "Diff" view for pull requests is much better than the one for Bitbucket.

The file tree view on the left makes it considerably easier to look through the files that have changed. I'd like to see this functionality integrated into Bitbucket.

Official response

  • Alastair Wilkes staff

    Hi there,

    As mentioned by @Dmitry Gusev, the new pull request experience public beta features a file tree for navigation is now available for opt-in!

    We created the new experience to help reviewers assess changes more quickly. You can read more about all the new features of the new UI at the Bitbucket blog.

    Yes, @Samantha Adrichem, performance on large PRS still needs improvement. So we are not closing #7723 yet! We do not plan to bring a single-file view to Bitbucket Cloud and are committed to improving the multi-file view.

    Regardless, to opt-in and try the new experience,

    1. Click your avatar in the Bitbucket sidebar
    2. Select Bitbucket Labs.
    3. Enable the New pull request experience feature

    Note: some features from the existing experience have not been migrated to the new experience yet. Click here for more details.

    Thanks,
    Alastair
    Bitbucket PM

Comments (154)

  1. Vazgen Ayrapetyan

    ++ I feel very uncomfortable with the treeless view. Also the coloring of files to easily see what was added/deleted/modified/moved is MUCH better than having to figure it out based on line changes.

  2. Carsten Jørgensen

    ++ This missing feature is what's holding us back from upgrading currently. Code reviewing is a crucial part of our workflow, and the tree view tremendously helps to maintain the overview of a PR. We don't want to make code reviewing less convinient.

  3. Manocher Nazari

    I don't understand why Bitbucket cloud has missing features compared to Server. I also noticed there are lack of permissions around pull requests and merging, e.g. no feature such as at least 1 approver before it can be merged, no restrictions on who can make change to Default/Master branch or stop merging directly to Default/Master branch. There are features in Server and not in Cloud

  4. Bernhard Reitinger

    +++ Yes, please, the tree diff is much better than the all-in-one diff view!

    The biggest benefit is that in case of a big pull request, the default page does not take long for loading.

  5. Ben Ishiyama-Levy

    Like many here, just moved from bitbucket server to cloud, and that was a mistake: the missing file tree diff, replaced by the horrible list on top. Atlassian, you are on top of things. Please correct this UX horror asap. Catastrophe!!!!

  6. Jonathan Higgs

    @Leo FC

    Just one small request that would be great to add. Every time we view our PR's the first thing we do is always say 'ignore whitespace', but when we do this the tree view doesn't load automatically, and we have to manually click 'enable diff tree' (even though 'always enable diff tree is on'). Would be great if the 'always enable diff tree when the viewer selects 'ignore whitespace'

  7. Josh Springer

    @Leo Dam

    Any possibilities in making the code open source. I'd love to use the amazing tool you developed, but have some barriers around 3rd party components & libraries that must be reviewed to make sure nothing will impact our intellectual property.

  8. Leo Dam

    @Jonathan Higgs Please update the new version 1.0.7 which has the following features:

    • Display diff tree when the viewer selects "ignore whitespace"
    • Navigate to corresponding comment when clicking on the "new comment notification" area at the bottom right corner Screen Shot 2016-12-05 at 2.48.06 PM.png
  9. Matthew Zartman

    Great tool @Leo Dam!

    The only improvement that I can think of is to have the list be an individual pane that doesn't scroll when the user scrolls through the code. I used to use Stash and have since moved to Bitbucket Cloud, but on Stash it looked something like this. It would be cool if the interface was like that.

  10. Jesse Norris

    Another person that would like this to be implemented. After switching from BitBucket Server, I am thoroughly unimpressed with BitBucket Cloud due to the pull requests. It's so difficult to review changes now.

  11. Marc Dula

    +1.

    After almost a year of using Bitbucket Server for a project, coming back to pull requests in Bitbucket Cloud is jarring, uncomfortable, and less productive.

  12. ChristianW

    After 25 month (from ticket creation): Look at the changelog of Bitbucket Cloud: 80% of the changes are less important than this issue. How can a product owner be more wrong? Atlassian, please start dogfooding and you will notice the 'pain in the ass'.

  13. Robbert Schreuder Hes

    +1

    Why is this still an issue after over two years? Sounds like a really basic feature to me. Same goes for embedded side-by-side views - you can't add comments now in the pop-up side-by-side view.

  14. ChristianW

    We are evaluating UPSOURCE which is pretty cool with its PHPStorm plugin, which enables complete IDE support on each review: code navigation, full fletched diffs and all the other cool stuff provided by our lovely IDE.

    https://www.youtube.com/watch?v=9gMVC7mg9nk

    While git repo servers are very similar today i think they can be easy replaced.

    I think we will move all our projects to UPSOURCE, just because this plugin is trying to bridge the gap (ok, ok, there is still space to workflow and user interface improvements; at the moment it is the best available solution). So stop waiting and start using other solutions!

  15. Pedro Borges

    Great stuff Christian, the corollary of this teams autism is they don't even appear to read these threads. I am sad to witness some seriously bad choices being made in bitbucket for the cloud - this is a great 101 on how to kill a product by refusing to take your head out of the sand.

  16. Alastair Wilkes staff

    We've been focused on a several higher priority projects including code aware search, a cleaner, simpler navigation experience, building Docker images in Bitbucket Pipelines, JIRA and Trello integrations, and other highly voted features (such as #5658, #7399, #8995, #3717, and #12757).

    With those shipped, we are focusing on the pull request experience. As we prioritize improvements to make in Cloud, we take learnings from what’s worked well in Bitbucket Server into consideration. Navigability of pull requests - which, in Server, is solved with the tree view - is definitely something we need to improve in Cloud.

    Although we don’t have a specific timeline to share at this time, improvements like these are top of mind, and we are working on them. We’ll update this issue when we have more to share.

  17. Josh Giangrande

    Would love to see the tree view for file browsing implemented. As it currently stands, the pull request interface is quite user-unfriendly. Being able to select the "side-by-side diff" isn't awful as a means of focusing on one file (although I'd still prefer the tree view), but because everything is listed on one page with only one set of links at the top (and no periodic links throughout the page to jump back to the top), navigating between different files is INCREDIBLY annoying.

    Edit: I lied. I can't find a way to add a comment to the code I am reviewing while in "side-by-side diff" view. So I have to cancel and then find the section of the code where I wanted to add a comment. Therefore, it's also not a particularly useful feature, in my opinion.

  18. Erik Wendel

    After being on a project using Stash for several years, I recently joined a team using GitHub.

    I've been encouraging them to switch to Bitbucket, but now that I've discovered that the tree view isn't available for the cloud version, the switch unfortunately won't be happening.

    Please prioritize this!

    I want to move away from GitHub, but hosting our own Stash isn't an option.

  19. Joe McGuckin

    ++++ I find the tree view much more user friendly. I figured I would get used to the new UI but after over a year I still find it frustratingly difficult to use

  20. Rob Ormond

    The lack of a nice PR experience in Cloud (as opposed to Server) is the only issue holding up our migration to the Cloud product. Otherwise we are ready to hand over our cash, but won't until this is addressed.

  21. Anonymous

    @Russ Watson The extension is OK, but it still kinda sucks that you have to use external extensions to be able to do any Code Review (big reviews in the current view is a real pain).

  22. Andrew Kouri

    Come on Atlassian - for every person here that has signed up for an account just to express this frustration, there are 15 others who haven't. Please address this ASAP.

  23. Claire Bianchi

    We are currently working on an improved Pull Request experience that includes a file tree. This project is in progress and should be available as a labs feature in a few months. I will update this ticket with directions on how to turn it on once ready. We are targetting early summer for general availability.

    Best Claire

  24. Andrew Kouri

    If I had a ticket with major priority that was already implemented in the server version, I would assign a dev to work on it ASAP. The cloud version should have more features than the self-hosted version!

  25. Samantha Adrichem

    Omg it's still horrible in usage if you have large commits.. Why can't they just rebuild what bitbucket server has/had?

    Just a minor improvement would be to not load every single file in memory of the browser.

  26. Robert Dailey

    @samantha Maybe the moral of the story is: Don't make huge changes all at once. Break out your work into incremental changes. Then it won't be an issue. In a way, I kind of like that we're punished for making monolithic, unmanageable PRs. How can you reasonably expect your team to spend hours combing through thousands of lines of changes?

  27. Alastair Wilkes staff

    Hi there,

    As mentioned by @Dmitry Gusev, the new pull request experience public beta features a file tree for navigation is now available for opt-in!

    We created the new experience to help reviewers assess changes more quickly. You can read more about all the new features of the new UI at the Bitbucket blog.

    Yes, @Samantha Adrichem, performance on large PRS still needs improvement. So we are not closing #7723 yet! We do not plan to bring a single-file view to Bitbucket Cloud and are committed to improving the multi-file view.

    Regardless, to opt-in and try the new experience,

    1. Click your avatar in the Bitbucket sidebar
    2. Select Bitbucket Labs.
    3. Enable the New pull request experience feature

    Note: some features from the existing experience have not been migrated to the new experience yet. Click here for more details.

    Thanks,
    Alastair
    Bitbucket PM

  28. Laurent Malvert

    I'd say it's "in progress" rather than "resolved". :)

    I sent a bunch of feedback already. Which I was reporting here as well, but then a keyboard screw-up on my part caused my browser to navigate elsewhere and I lost my comment. But in short:

    • NO TASKS!!
    • No review of merge blockers (approvals, tasks, valid builds...) in merge confirmation dialog.
    • Redundant commit list in description + commit list header (multiple issues, list in description was not auto-updated, but redundancy is worse).
    • No "ignore whitespace". Though badly positioned before, the option was really useful (especially through the query parameter ?w=1). While at it, this should really be a personalizable behavior tied to the organisation, the repository, and then the user profile.
    • The tree view (main concern here originally here) is still far from the Stash / BBSERV experience:
    • No "(re)viewed" visual cue for the files (that one is a realy bummer).
    • The tree view is too small.
    • The PR page is still one long scrolling page. Which some might prefer, but as it's still plagued by performance issues it's still problematic in this new state.
  29. Robert Dailey

    Also:

    • Activity view is gone, or rather, there's no way to view just discussions without diving into file diffs
    • Clicking links to comments in email do not take you to the relevant comment on the page
  30. Alastair Wilkes staff

    @Laurent Malvert - We'll be bringing tasks, merge blockers, and ignore whitespace back. Those are noted in the documentation I linked above (thanks for the reminder to add ignore whitespace to that list).

    That said, good points about the commit list and the 'reviewed' visual cue -- we'll take a look at those. You can expand the tree view by dragging the sidebar's edge; would you like a different UX? Finally, regarding performance -- yes, we still have some work to do there, as I mentioned in my post above.

    Thanks for trying it out! Your feedback helps us improve.

  31. Laurent Malvert

    To be fair, that "direct link to comment" feature was useful but often broken in the old view as well. But sure is missing.

    Likes are gone too, and while I never liked (sorry) the "Like" name, it was handy to approve another personal's comment (a +1 would be closer I guess).

  32. Laurent Malvert

    @Alastair Wilkes : yes, I've seen the known issues list, I just meant to emphasize which ones I deem most problematic. Looking forward to them making their way back to the product.

    For the tree view, I've notice that I can resize, but it's not really something I had to do very often in the stash review except with a large tree, whereas here by default it's really quite a small view and it won't be of much use without resizing it. I think the default width should be much larger. And it does not keep my preference when I refresh the page or navigate to another PR.

  33. Mateusz Papiernik

    @Alastair Wilkes you mention that you do not plan to bring a single-file view to Bitbucket Cloud, but it's a pity.

    While the points being made that big reviewable PRs should be in general avoided are true, there are cases in which PR contains a bunch of autogenerated and/or binary files. These are not subject to manual review, but cloud the single page view and affect performance heavily. Sometimes the PR won't even show properly, showing errors that the PR is too big to handle and further files are not displayed. With previous view in Bitbucket Server one could simply not look into files that were irrelevant to the review process, but now it's not possible.

    If you may, please keep that in mind while improving the performance side of the current review experience.

    Otherwise I appreciate your effort and I consider this a big improvement, even though not yet perfect.

  34. Robert Dailey

    For binary files, use git LFS or submodules. And if source is Auto generated, don't put it in version control. Have your build system make sure the temporary files are always generated and present.

  35. Alastair Wilkes staff

    Thanks for the additional feedback and context, @Mateusz Papiernik. The issue of generated files in diffs is legitimate and definitely worth solving.

    Soon, we will add the ability to expand/collapse all files, which should help a bit but is obviously not a complete solution. Later, we plan to add the ability to automatically exclude/collapse diffs based on file path (#17246), which would be much more complete.

    Another customer suggestion which I rather like would be to collapse diffs when you collapse a folder in the file tree, which would be cool! So we're also looking into that.

  36. Robert Dailey

    Due to links in email not going to relevant comments and no activity feed i had to disable the new view. When those are added back I'll try it again. Please continue to share release notes here if possible since I regularly read comments here.

  37. Alex Lemaire

    Having used it for a few days now, it feels like there's just too much missing.

    1. In Bitbucket Server, I can add Tasks. It's super convenient. I type a comment, and then highlight it -> Add Task. Poof. The highlighted text is automatically injected as a PR task.

    2. In Bitbucket Server, on the principal PR view, I am able to quickly see how many open comments or tasks. Where is this on the Cloud version? Right now, seems I have to scan the whole 4000 line page to find comments left prior; is there no quick way?

    3. What happened to clicking "Like" on comments? Not critical, but it was an easy way to voice support for someone's claim or opinion.

    4. Diffs on Bitbucket Cloud seem vastly inferior to Diffs on Bitbucket Server. How can I quickly filter files like I can on the Diff tab on Bitbucket server? That little dropdown above the file list: - Show diff of (all changes in PR) - Diff since last review - Individual commits - I can also use the little search field to filter files by content.

    5. Where is the Blame button in PRs while viewing a file? So that I can see who committed what in a file? This saves a ton of time when you need to ask someone (who is it?) for original reasoning, etc.

    Am considering just running Bitbucket Server on AWS.

  38. Log in to comment