Summary: | Don't ask strange questions before showing revision info for the first time | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Eclipse Project] Platform | Reporter: | Andrey Loskutov <loskutov> | ||||||
Component: | Text | Assignee: | Andrey Loskutov <loskutov> | ||||||
Status: | RESOLVED FIXED | QA Contact: | |||||||
Severity: | enhancement | ||||||||
Priority: | P3 | CC: | daniel_megert, Lars.Vogel, matthias.sohn | ||||||
Version: | 4.7 | ||||||||
Target Milestone: | 4.7 M4 | ||||||||
Hardware: | All | ||||||||
OS: | All | ||||||||
See Also: |
https://bugs.eclipse.org/bugs/show_bug.cgi?id=113136 https://git.eclipse.org/r/84523 https://bugs.eclipse.org/bugs/show_bug.cgi?id=319347 https://git.eclipse.org/c/platform/eclipse.platform.text.git/commit/?id=a79ee3160495d8173821f6af6d1c6284fe32ce57 |
||||||||
Whiteboard: | |||||||||
Attachments: |
|
Description
Andrey Loskutov
2016-11-05 14:40:46 EDT
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 |