The new Commit tab

Answered

I'd like to share my thoughts about the new Commit view of the (CLion) 2020.1 EAP. There's some things that I really like about it, but also a number of things that I strongly dislike.

Let's start by comparing the two.

 

Old style:

 

New style:

 

I like that the actual VCS part (the changed files, the commit message, the commit options, etc.) is a lot more compact. It leaves much more screen realestate for the actual diff view, which is an important part of what makes JetBrains's built-in Git functionality so great.

That's about where the positivity stops for me. I have a few major gripes, that make this interface a lot more difficult to work with. I'll try to order them by importance.

 

Diff tabs

A diff tab is now shown as another document tab and placed between all other open files. This is counter intuitive to me, since the whole concept of a diff view belongs "in the realm of VCS".

When I press Ctrl+K (open the Commit dialog/view), I expect the first thing to see to be the diff view of the topmost file that got changed.

Not only does it not automatically show me the diff view: if I then close the Commit view by switching back to the Project view, the diff tab doesn't close automatically. It continues to clutter my open tabs list.

The Commit window should have its own set of tabs. Maybe it could already have all the diff views of changed files open by default? Anything to prevent a commit from opening yet another editor tab in the Project view.

 

Non-automatic grouping

Changed files are not grouped by default, which they really (really) should be. It's way too easy to not notice that files aren't grouped, which causes me to mix up files from the main repository and from submodules.

 

Odd reverting behaviour

The revert arrows for changed lines (">>") sometimes need two clicks to revert. One to insert the original lines, and a second to remove their latest version.

 

View can become too narrow

The contents of the bottom bar (containing the Commit button) aren't always visible if the VCS-part becomes too narrow.

 

I would like to hear some more thoughts about the new view. I'm sure I forgot a few more annoyances, and I can imagine others being more positive than I am.

12 comments
Comment actions Permalink

I've switched to the old style because I like to see diffs just before commit and when I do commit in the new tab, the open diff tabs still open in CLion, so I must manually close every tab (you have written about it). 

Also what I dislike in the new interface: the Version Control window is now the Git window and always starts from the branch tab (and a third of the pane is occupied by the branch list). But usually I work with one branch in a time and already opened a tab for this branch, so I think it could be more usable to open the Git window on the latest branch the user worked with. Also, where is the local changes?

7
Comment actions Permalink

Thanks for the feedback, copy-pasting from https://youtrack.jetbrains.com/issue/IDEA-233681
However, most of the mentioned issue is not related to the Commit dialog layout. Let me point the corresponding requests

> Diff tabs

Showing diff in the editor to get more space for it is one of the major goals of the new UI.
Also, Commit toolwindow can be used not only to commit, but to navigate changed files and manage changelsit, or to do dirty commits that do not require viewing diff. That is why diff is not opened by default.

The new UI is by default enabled in all new installations.
For current users, the modal dialog stays as default, however, we added an in-place option to switch to the new UI right from the modal commit dialog.
Also, it is possible to change the UI using the Use non-modal commit interface option in Settings/Preferences | Version Control | Commit.
It is accessible via FInd-Action.

> the diff tab doesn't close automatically. It continues to clutter my open tabs list.

https://youtrack.jetbrains.com/issue/IDEA-233277

> Non-automatic grouping

See https://youtrack.jetbrains.com/issue/IDEA-238593

> Reverting behaviour

It does not seem to reproduce for me.
Diff behavior should not differ in modal vs non-modal UI. Please submit a request with a scenario or example changes to reproduce.

> View can become too narrow

The bar has been updated to take 2 lines https://youtrack.jetbrains.com/issue/IDEA-230989

> Unable to split groups of lines

This is https://youtrack.jetbrains.com/issue/IDEA-186988. Likely will be resolved as part of stage support https://youtrack.jetbrains.com/issue/IDEA-63391

0
Comment actions Permalink

> But usually I work with one branch in a time and already opened a tab for this branch, so I think it could be more usable to open the Git window on the latest branch the user worked with.

The first tab in Git toolwindow is Log now. It also includes the Branes list, however this list is shown on the main Log tab only, other Log tabs have it collapsed.

> Also, where is the local changes?

In a separate Commit toolwindow on the left.

 

1
Comment actions Permalink

I agree... one thing that was immediately AWFUL.. is my layout is almost always 3 tabs horizontal... so i can edit lots of stuff at once..

Here's what the comparison looks like now -  it's just squished into first column:

Ill have to re-arrange my workspace in order to commit (if i actually want to look at the changes)

1
Comment actions Permalink

For (among others) the reason that Nathan perfectly shows in his screenshot, I still strongly object to having diff views added to the normal set of editor tabs

 

Something that also should be a lot easier, is switching from the diff view of a file, to the editor tab of its current version.

I often use the commit toolwindow to browse changes I've made, but I sorely miss a button that jumps from the selected line in the diff view to that same line in the file itself.

 

1
Comment actions Permalink

> I often use the commit toolwindow to browse changes I've made, but I sorely miss a button that jumps from the selected line in the diff view to that same line in the file itself

The diff behavior has not changed, only its location. Jump To Sources (shortcut is F4) is still there.

> Ill have to re-arrange my workspace in order to commit (if I actually want to look at the changes)

Diff does not work well with a split editor view - https://youtrack.jetbrains.com/issue/IDEA-231847

But please note that diff opens in Editor only double-click, and you can use Ctrl/Cmd+D instead to open regular diff in a separate frame instead.

 

0
Comment actions Permalink

Can I return (revert) to old-style of local changes tab (in alt+9 git-tab)??
After reinstall my OS I downloaded latest (and clean) version of Webstorm (2020.1.1)
I spend more than 1 hours to googling but can't find the answer or solution..
My work process has broke.. :(

The new commit-interface is a horrible and uncomfortable (imho).
Or I should switch to previous version of webstorm to fix it? (2019.x)

3
Comment actions Permalink

> I spend more than 1 hours

Have you tried searching in IDE settings? Where would you expect to see the switch?

You can change the UI using the Use non-modal commit interface option in Settings/Preferences | Version Control | Commit.
It is accessible via FInd-Action.

Also there is an option to switch in the Commit toolwindow settings.

5
Comment actions Permalink

Hello Dmitriy!

Thanks for a your answer! I found the solution for self:
in commit window (local changes tab) -> settings (show options menu) -> switch to commit dialog

I tested "Use non-modal commit interface" too - its work fine.

I'm happy)

Sorry for my (maybe) stupid request.

 

0
Comment actions Permalink

1. You should provide a quick option to revert such a radical change in the interface. I suggest it must be a button or option inside the new Commit tab, on a prominent place, something like "Get back to 'Local Changes' tab. I had no idea what I have to look for to revert the new interface and if such an option exists at all?

2. I don't like a separate Git tab that contains only logs and another Commit tab that contains my changed files. I like when they are together. In one place. Because they are related to each other.

3. I don't like the concept that Commit tab contains all the local changes and multiple Change Lists. The name 'Commit' is confusing. You might think that there are files for one commit. If so, then what other changes are doing there? Is it going to commit everything? 

4. Why did you decide that double click on a changed file (inside the new Commit tab) should now open Diff window instead of editor window? Ok, you migrated 'Local Changes' tab into the new Commit tab. I didn't ask for it but assume I'm ok with it. The tab is still named 'Local Changes'. Why did you change it's functionality? It is still 'Local Changes' tab!!! Double click on changed file should open this file in editor, as it was from the first day of IntelliJ! If I need a Diff window, I'll ask for it separately.

5. I am glad that you kept the option to revert to the old interface. If you're making such a significant change to the interface, give people the freedom to choose what they want, don't break the good old behavior!

1
Comment actions Permalink

+1 on this. Is there a way to revert back to the old UI? I find it much more intuitive.

 

NVM I found it, "gear icon on the commit tab -> switch to commit dialog"

0
Comment actions Permalink

I use the "Use non-modal commit interface".

At first on

"Show on double click" : "Diff"

the Diff has been opened in the main window. Now it opens in a new window.

Does anyone know where to change this setting back to main window?

0

Please sign in to leave a comment.