Community
Participate
Working Groups
Created attachment 265211 [details] annoying dialog Follow up on this question: https://dev.eclipse.org/mhonarc/lists/egit-dev/msg04212.html "everytime, I activate the Git blame annotations, I get the attached dialog. I must admit that I do not know what this dialog is trying to tell me and I assume most users will experience the same. Do you know what the purpose of this dialog is? Maybe we should remove it?" I've never ever NOT confirmed this dialog, and because I was so used to see it I've never asked "why in the hell it is popping at all"? If there is a 1% of users who needs this dialog for whatever reason, then we should make them happy by making this preference option visible under "General -> Editors-> Text Editors -> Quick Diff", the rest of 99% users just want to see revision information, because they clicked on "Show Revision Information". See org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants.REVISION_ASK_BEFORE_QUICKDIFF_SWITCH org.eclipse.ui.internal.texteditor.LineNumberColumn.ensureQuickDiffProvider(String) This dialog (and option above) were introduced together with VCS support in the ruler annotations via bug 113136. At that time people were not used to it,so there were some concerns if this is useful or not, but I see no comments asking for that dialog. I would propose to flip the default without adding another strange option to the preferences.
New Gerrit change created: https://git.eclipse.org/r/84523
+1 for not showing the result. @Andrey thanks for taking this.
I think the reason for this dialog is the following: Quick diff's reference source configured here "Preferences > General > Editors > Text Editors > Quick Diff" seems to be a global workspace level setting (couldn't find it in project specific settings). If a user uses different versioning systems (e.g. Git and Subversion) for different projects in the same workspace he has to decide on global level which one to use as quick diff reference source. I guess this means quick diff will only work for the projects using the selected versioning system (e.g. git) but won't work for the projects using another versioning system (e.g. Subversion) in the same workspace. I guess that's the reason why this dialog is shown. If this assumption is correct it seems the best way to get rid of this dialog would be to provide a project specific quick diff preference page which would allow to store the quick diff reference source on project level.
(In reply to Matthias Sohn from comment #3) > I think the reason for this dialog is the following: > > Quick diff's reference source configured here > "Preferences > General > Editors > Text Editors > Quick Diff" > seems to be a global workspace level setting (couldn't find it in project > specific settings). > > If a user uses different versioning systems (e.g. Git and Subversion) for > different projects in the same workspace he has to decide on global level > which one to use as quick diff reference source. I guess this means quick > diff will only work for the projects using the selected versioning system > (e.g. git) but won't work for the projects using another versioning system > (e.g. Subversion) in the same workspace. I guess that's the reason why this > dialog is shown. This was my initial guess too, but looking at LineNumberColumn.ensureQuickDiffProvider() logic this will just change to the requested diff provider id (with a meaningless dialog). So we have either a quick diff based on editor buffer changes since opening the editor or quick diff based on version control data (for the current file), and switching to the version control opens the dialog. Interestingly, switching back to the "editor buffer" quick diff is done *without dialog* after using menu to "hide" revision information.
Bug 319347 is your friend. Investing time to fix this will be a better help to users than just not giving them any hint. If the wording on the current dialog is not understandable then we should fix that.
Created attachment 265213 [details] svn and git version annotations together (In reply to Dani Megert from comment #5) > Bug 319347 is your friend. Investing time to fix this will be a better help > to users than just not giving them any hint. I'm not sure what isn't working there, I can have both SVN and Git version annotations at same time nicely together, without configuring anything special, see attached picture. As said, the code in LineNumberColumn.ensureQuickDiffProvider() just uses the provider it was asked to show. May be I'm missing something here? It seems for me that we mix two different things - quick diff for *changed lines* (which is supposed to be configured with global preferences mentioned in bug 319347) and version annotations, which are kind of orthogonal to the quick diff and do not have global configuration, but based on the current project team provider?
(In reply to Andrey Loskutov from comment #6) > Created attachment 265213 [details] > svn and git version annotations together > > (In reply to Dani Megert from comment #5) > > Bug 319347 is your friend. Investing time to fix this will be a better help > > to users than just not giving them any hint. > > I'm not sure what isn't working there, I can have both SVN and Git version > annotations at same time nicely together, without configuring anything > special, see attached picture. As said, the code in > LineNumberColumn.ensureQuickDiffProvider() just uses the provider it was > asked to show. May be I'm missing something here? > > It seems for me that we mix two different things - quick diff for *changed > lines* (which is supposed to be configured with global preferences mentioned > in bug 319347) and version annotations, which are kind of orthogonal to the > quick diff and do not have global configuration, but based on the current > project team provider? Yes, they are orthogonal but they use the same space in the ruler. I looked at this again today and verified that we only change the provider for the given editor - it leaves the global preference alone. I agree that everyone who wants to see the revision information will OK that dialog and also wants to remember the decision.
(In reply to Dani Megert from comment #7) > (In reply to Andrey Loskutov from comment #6) > > Created attachment 265213 [details] > > svn and git version annotations together > > > > (In reply to Dani Megert from comment #5) > > > Bug 319347 is your friend. Investing time to fix this will be a better help > > > to users than just not giving them any hint. > > > > I'm not sure what isn't working there, I can have both SVN and Git version > > annotations at same time nicely together, without configuring anything > > special, see attached picture. As said, the code in > > LineNumberColumn.ensureQuickDiffProvider() just uses the provider it was > > asked to show. May be I'm missing something here? > > > > It seems for me that we mix two different things - quick diff for *changed > > lines* (which is supposed to be configured with global preferences mentioned > > in bug 319347) and version annotations, which are kind of orthogonal to the > > quick diff and do not have global configuration, but based on the current > > project team provider? > > Yes, they are orthogonal but they use the same space in the ruler. > > > I looked at this again today and verified that we only change the provider > for the given editor - it leaves the global preference alone. I agree that > everyone who wants to see the revision information will OK that dialog and > also wants to remember the decision. so you agree to remove this dialog ?
(In reply to Matthias Sohn from comment #8) I already merged Andrey's change. Genie is currently not updating (see bug 507135).
(In reply to Dani Megert from comment #9) > (In reply to Matthias Sohn from comment #8) > I already merged Andrey's change. Genie is currently not updating (see bug > 507135). Great work Andrey. Another (little) improvement in usability for our Eclipse users.
Gerrit change https://git.eclipse.org/r/84523 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.text.git/commit/?id=a79ee3160495d8173821f6af6d1c6284fe32ce57