• We collect Bitbucket feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

      When we upgraded from 2.11 to 2.12, stash stopped remembering that I like to view diffs in side-by-side mode. Now every time I visit a pull request I have to type "shift D" to switch to side-by-side mode. Not a huge deal, but enough of an annoyance that I'd like to see it fixed.

      To reproduce:

      1. View a PR in side-by-side diff mode.
      2. Copy URL, paste into a new tab.
      3. PR is show back in normal diff mode.

          Form Name

            [BSERV-4693] Stash should remember side-by-side diff preference

            The options will now persist at the browser level, not the session level, as of Stash 3.3. This means all tabs will share the same options and they will persist even if the browser is closed.

            Michael McGlynn (Inactive) added a comment - - edited The options will now persist at the browser level, not the session level, as of Stash 3.3. This means all tabs will share the same options and they will persist even if the browser is closed.

            It is incredibly obnoxious that "Ignore Whitespace" is included in these silly "sessions" instead of being permanent. +1 for removing this session-only nonsense.

            Collin Grady added a comment - It is incredibly obnoxious that "Ignore Whitespace" is included in these silly "sessions" instead of being permanent. +1 for removing this session-only nonsense.

            dave.hausladen -

            Luckily, this is already the case. If you choose Side-by-side, added and deleted files will still use the Unified view. Only the persistence of that setting would need to change (which this issue covers).

            Feel free to open an issue for setting the preference by file type, but I have a hunch we likely won't implement it anytime soon. I suspect it won't be used by enough people to justify the complex settings it would require.

            Cheers,
            Adam

            Adam Ahmed (Inactive) added a comment - dave.hausladen - Luckily, this is already the case. If you choose Side-by-side, added and deleted files will still use the Unified view. Only the persistence of that setting would need to change (which this issue covers). Feel free to open an issue for setting the preference by file type, but I have a hunch we likely won't implement it anytime soon. I suspect it won't be used by enough people to justify the complex settings it would require. Cheers, Adam

            I'd like to set a durable preference to view all added and deleted files in a pull request/diff with unified diff and all changed files with side-by-side diff. Side-by-side is a waste of space for add/delete.
            A colleague would like to be able to define a preference by file type. He reports that for XML, he's fine with unified but for java and javascript he prefers side-by-side.

            Dave Hausladen added a comment - I'd like to set a durable preference to view all added and deleted files in a pull request/diff with unified diff and all changed files with side-by-side diff. Side-by-side is a waste of space for add/delete. A colleague would like to be able to define a preference by file type. He reports that for XML, he's fine with unified but for java and javascript he prefers side-by-side.

            I guess the longer persistence would be beneficial for all the diff/pull request settings. I asked a similar question about the "ignore whitespace" option here: https://answers.atlassian.com/questions/314966/ignore-whitespace-by-default
            It is very annoying to set the same settings every time I open a diff/pull request. (They are almost always in a new tab, as the PR's are usually opened from the link in the e-mail.)

            Balázs Szakmáry added a comment - I guess the longer persistence would be beneficial for all the diff/pull request settings. I asked a similar question about the "ignore whitespace" option here: https://answers.atlassian.com/questions/314966/ignore-whitespace-by-default It is very annoying to set the same settings every time I open a diff/pull request. (They are almost always in a new tab, as the PR's are usually opened from the link in the e-mail.)

            xavier added a comment - - edited

            Feedback from my users:

            "Having the setting only persist for the lifetime of a tab seems strictly inferior to making the setting persist forever. Even if their claim that side-by-side is situation dependent, switching back and forth is easy for a user that uses both side-by-side and unified diffs. On the other hand, for a user like me who only wants side-by-side diffs, I'm currently forced to select side-by-side mode every time I look at a diff in a new tab (which is many many times a day)."

            "It's kind of crazy making that every single time I look at a PR I have to tell Stash to use side-by-side diffs and ignore whitespace. "

            Anecdotally from others I've talked to (and my own usage), it's mostly a personal preference that people use, rather than switching between modes depending on context.

            xavier added a comment - - edited Feedback from my users: "Having the setting only persist for the lifetime of a tab seems strictly inferior to making the setting persist forever. Even if their claim that side-by-side is situation dependent, switching back and forth is easy for a user that uses both side-by-side and unified diffs. On the other hand, for a user like me who only wants side-by-side diffs, I'm currently forced to select side-by-side mode every time I look at a diff in a new tab (which is many many times a day)." "It's kind of crazy making that every single time I look at a PR I have to tell Stash to use side-by-side diffs and ignore whitespace. " Anecdotally from others I've talked to (and my own usage), it's mostly a personal preference that people use, rather than switching between modes depending on context.

            Speaking for myself, I prefer side-by-side diff almost always – in particular for significant code changes, as I feel that a side-by-side makes the "before and after" easier to perceive.

            I voted for this issue after I found it because I value having Stash remember my setting. I think my use of side-by-side diffs in Stash places me in a minority among my teammates, though, so I'm not sure how many people are actually adversely affected by the change.

            Curtis Free added a comment - Speaking for myself, I prefer side-by-side diff almost always – in particular for significant code changes, as I feel that a side-by-side makes the "before and after" easier to perceive. I voted for this issue after I found it because I value having Stash remember my setting. I think my use of side-by-side diffs in Stash places me in a minority among my teammates, though, so I'm not sure how many people are actually adversely affected by the change.

            Hi Xavier,

            I've opened this issue up so we can get a sense of what people prefer. The initial testing suggested that per-session (tab) persistence of the setting made sense along with the other diff settings (ie toggles for whitespace, comments, ediff), but we're open to changing it if side-by-side proves to be more of a personal preference than situation dependent.

            Roger Barnes (Inactive) added a comment - Hi Xavier, I've opened this issue up so we can get a sense of what people prefer. The initial testing suggested that per-session (tab) persistence of the setting made sense along with the other diff settings (ie toggles for whitespace, comments, ediff), but we're open to changing it if side-by-side proves to be more of a personal preference than situation dependent.

              Unassigned Unassigned
              0e3a26177670 xavier
              Votes:
              12 Vote for this issue
              Watchers:
              10 Start watching this issue

                Created:
                Updated:
                Resolved: