Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 179599 - Automatically create context from CVS changes
Summary: Automatically create context from CVS changes
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Mylyn (show other bugs)
Version: 1.0   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Mik Kersten CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-03-27 15:45 EDT by Marc Eaddy CLA
Modified: 2007-03-30 20:57 EDT (History)
1 user (show)

See Also:


Attachments
mylar/context/zip (8.16 KB, application/octet-stream)
2007-03-29 00:27 EDT, Mik Kersten CLA
no flags Details
mylar/context/zip (9.50 KB, application/octet-stream)
2007-03-30 20:57 EDT, Mik Kersten CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marc Eaddy CLA 2007-03-27 15:45:17 EDT
When a task doesn't have context you must manually go through the CVS log to find related commit messages to determine what was changed to complete the task.  It would be nice if Mylar provided some support for this.  For example, Mylar could try to locate commit messages that contain the task id.  Or Mylar could allow the user to select two different version of a file in the CVS history and select "Create Context from Changes," which would compare the two files and create context based on the changed structural elements.
Comment 1 Mik Kersten CLA 2007-03-29 00:27:55 EDT
Done via a new context menu action on context change sets that can be used to add one or more incoming or outgoing resources to the task context (e.g. via invoking on change set node or resource nodes).  3.3 dev build coming up soon, details will be in the New & Noteworhty.
Comment 2 Mik Kersten CLA 2007-03-29 00:27:57 EDT
Created attachment 62338 [details]
mylar/context/zip
Comment 3 Eugene Kuleshov CLA 2007-03-29 01:24:58 EDT
Mik, I'd say that you should have used separate IAdaptable for retrieving resources. Then non-cvs connectors could adapt their changesets to that adaptable and AddToTaskContextAction won't have to know about concrete implementations.

Also, can you or Mark give me example of developer workflow when AddToTaskContextAction supposed to be used? I can't think why it can be useful for incoming changes and "compare with..." functionality in CVS provider is quite confusing. I.e. you can compare two tags/branches/time markers and ask Synchronize view to show changesets, but it won't show them quite right. Also, last time I tried that, menu contribution didn't work on comparison panel...
Comment 4 Mik Kersten CLA 2007-03-29 10:41:10 EDT
 (In reply to comment #3)
> Mik, I'd say that you should have used separate IAdaptable for retrieving
> resources. Then non-cvs connectors could adapt their changesets to that
> adaptable and AddToTaskContextAction won't have to know about concrete
> implementations.

This sounds good and could be worth doing.  Please file a new bug if there is a driver.

> Also, can you or Mark give me example of developer workflow when
> AddToTaskContextAction supposed to be used? I can't think why it can be useful
> for incoming changes and "compare with..." functionality in CVS provider is
> quite confusing. I.e. you can compare two tags/branches/time markers and ask
> Synchronize view to show changesets, but it won't show them quite right. Also,
> last time I tried that, menu contribution didn't work on comparison panel...

There following use cases have come up regularly:
1) Have incoming change set but no task or context for it, want to see what changed with it.
2) Apply a patch that had no context and want to review (for and Rob me this is more than once/week)
3) Make outgoing changes with no task active
Comment 5 Eugene Kuleshov CLA 2007-03-29 10:47:11 EDT
(In reply to comment #4)
> There following use cases have come up regularly:
> 1) Have incoming change set but no task or context for it, want to see what
> changed with it.

Hmm. I think comparison in Synchronize view give more contextual data because you'll be able to see the changes. You'll loose that info after creating context from resources. Unless I am missing something.

> 2) Apply a patch that had no context and want to review (for and Rob me this is
> more than once/week)

I got an impression that this feature only work in Synchronize view. Am I wrong? If not, how does it different from what sync view already provide?

> 3) Make outgoing changes with no task active

Can you please elaborate this one?
Comment 6 Mik Kersten CLA 2007-03-29 11:26:28 EDT
I'm not sure I understand your points.  The main thing this feature lets you do is select a change set in the synchronize view that has a bunch of resources under it, and have all of those resources get added to the task context so that they populate the filtered Package Explorer.  The only work-around to this was to open every resource so that the selection causes it to be added, which is fine if there are < 5, but not when there are more.
Comment 7 Eugene Kuleshov CLA 2007-03-29 11:41:21 EDT
(In reply to comment #6)
> I'm not sure I understand your points.  The main thing this feature lets you do
> is select a change set in the synchronize view that has a bunch of resources
> under it, and have all of those resources get added to the task context so that
> they populate the filtered Package Explorer.  The only work-around to this was
> to open every resource so that the selection causes it to be added, which is
> fine if there are < 5, but not when there are more.

I just don't understand how opening/filtering out package explorer is better then reviewing changes right from the Synchronize view + Comparison editor. I not really see a use case for creating resource-level context if changes already there. I guess the point I am trying to make is that this feature is not very intuitive (maybe just for me).

I also don't think this particular feature would help Mark much. I could be wrong, but from my understanding he is more interested to retrieve and analyze deeper contexts for historical data (which is probably better to do using different tools, i.e. some king of "cvs log" analyzer/parser).
Comment 8 Mik Kersten CLA 2007-03-29 12:20:23 EDT
Marc: please comment if this is not what you wanted.

This feature is definitely useful for me for reasons stated above.  Of course I would still use the synchronize view for reviewing changes, but after a patch comes in with no context I often end up opening Java editors via the synchronize view, and that takes way too many clicks. 
Comment 9 Eugene Kuleshov CLA 2007-03-30 12:46:12 EDT
Mik, I see that "Add to Task context" action is contributed twice on Subclipse incoming changes...
Comment 10 Mik Kersten CLA 2007-03-30 14:13:29 EDT
On which kind of element, the change set or an IResource?  I should be able ty try this in a bit.
Comment 11 Eugene Kuleshov CLA 2007-03-30 14:26:44 EDT
 (In reply to comment #10)
> On which kind of element, the change set or an IResource?

On change sets. Resources have just one menu.
Comment 12 Mik Kersten CLA 2007-03-30 14:55:13 EDT
Will try to investigate today...
Comment 13 Mik Kersten CLA 2007-03-30 20:57:17 EDT
Fixed by refining object contributions.
Comment 14 Mik Kersten CLA 2007-03-30 20:57:20 EDT
Created attachment 62583 [details]
mylar/context/zip