Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 39812

Summary: contribute to change bar vertical ruler
Product: [Eclipse Project] Platform Reporter: Kai-Uwe Maetzel <kai-uwe_maetzel>
Component: TeamAssignee: Jean-Michel Lemieux <jean-michel_lemieux>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: daniel_megert, eclipse, jean-michel_lemieux
Version: 3.0   
Target Milestone: 3.0 M4   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on:    
Bug Blocks: 35863    
Attachments:
Description Flags
example plug-in providing a CVS reference document none

Description Kai-Uwe Maetzel CLA 2003-07-09 11:20:46 EDT
I20030709

Platform Text released the change bar vertical ruler. Providers for a 
reference document to which to compare to can be contributed via extensions.
Please see attachment for a CVS solution. This could be integrated with the 
CVS UI plug-in.
Comment 1 Kai-Uwe Maetzel CLA 2003-07-09 11:22:38 EDT
Created attachment 5409 [details]
example plug-in providing a CVS reference document
Comment 2 Jean-Michel Lemieux CLA 2003-07-09 16:45:35 EDT
Thanks. Is there a way to programatically update the change bar via the 
quickdiff provider? The CVS refresh with remote is happening in the background 
and it would be cool to update the change bar if a file being are editing is 
changed has incoming changes.
Comment 3 Tom Hofmann CLA 2003-07-10 03:34:45 EDT
The reference provider provides a reference document for a document being 
edited. The quickdiff listens for document changes on the reference document. 
So, if the reference provider changes the reference document, the quickdiff 
display will pick these up (i.e. will re-initialize itself currently...).
Comment 4 Jean-Michel Lemieux CLA 2003-07-31 08:49:17 EDT
*** Bug 40986 has been marked as a duplicate of this bug. ***
Comment 5 Jean-Michel Lemieux CLA 2003-08-06 15:33:24 EDT
Dean will be creating the CVS reference provider for the quick diff. Having used
the quick diff with 'version on disk' for a little while now,  I have some
questions and comments:

1. Currently, it is very hard to find out that your file has changes without
scrolling. I didn't find which hot keys to use to 'select next/previous change'.
I understand that you want to show line changes but there is no way to find
them. For example, in compare editors the overview ruler shows were the changes
are and the select next/previous are used to navigate. Maybe we need an editor
decoration to hint that it's changed based on the reference document? A hint
that you should look for changes?

2. The bar is so narrow that I can't hover my mouse over it. What is the hotkey
for showing the change? Also what are the hotkeys for replacing the changes?

3. Have you thought of providing 3-way diff support? With the CVS quick diff
provider it will be really useful to see the direction of the change to
understand if you made the change or if it was made remotely.
Comment 6 Tom Hofmann CLA 2003-08-10 17:57:43 EDT
1. I agree - we would need a toggable indication on the overview ruler similar
to the one provided by the compare editor. Whether we will want shortcuts or
not, I am not sure - go to previous / next is usually assigned to something else
already (e.g. next problem in Java Editor), so we would have to introduce new
shortcuts. 

2. There are no hotkeys so far - as a workaround for the narrow ruler, if line
numbers are turned on, the ruler gets wider. Instead of using hotkeys for
undoing a change, the related actions can be acessed via the ruler's context
menu (Ctrl+W). 

3. The quick diff indication was really thought as a lightweight change
indication, and I am also considering a shortcutto open the full-fledged compare
editor from a change.

Note that the current diff information might not even be correct (i.e. the
shortest edit script from reference document to actual) because it is computed
incrementally. Try moving around lines for a demonstration of the current
algorithm's limitations.
Comment 7 Jean-Michel Lemieux CLA 2003-08-21 09:28:20 EDT
Started working on this in a branch:

branch_CVSQuickDiffProvider

It won't be done for M3 though.
Comment 8 Jean-Michel Lemieux CLA 2003-09-24 15:17:19 EDT
I've implemented the CVS quick diff provider. It will be in the next integration
build. 

I've played around with the quickdiff a bit more wihle implementing the CVS
portion and would like to capture my previous ious comments in another PR.
Basically I think the feature is really cool but currently isn't quite tuned
enough to be useful.
Comment 9 Tom Hofmann CLA 2003-09-24 15:23:03 EDT
looking forward to your comments... I am right now in the process of putting the
entire diffing into the background, and using real diffing instead of the often
incorrect incremental diffing. Also, overview ruler markers will be easy to
implement on top of that.