Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [egit-dev] Mylyn integration in EGit

On Thu, Oct 21, 2010 at 5:46 AM, Manuel Doninger <manuel@xxxxxxxxxxxx> wrote:
> Hi,
> i recently read the bugs about the Mylyn integration in EGit and saw
> the release plan, which says, the integration is planned for the 0.11
> release. Unfortunately, this is a feature, which my company is in dire
> need of.
> So i thought about contributing to accelerate the integration.
> My question is, what's the best start for this challenge? Does anyone
> (Chris?) have started yet with the implementation, which i can use as
> a base for my work? Are there already some "architectural" thoughts
> about the implementation or is this a blank field so far?

That's good to hear there are people interested in this work. I
believe there are a couple things we can do to integrate better with
Mylyn and began to sketch out some rough ideas on github awhile ago...
     http://github.com/caniszczyk/mylyn-git

The first step is to implement the
'org.eclipse.mylyn.team.ui.changeSets' extension point. This will most
likely require some changes to our changeset model in EGit, but
hopefully not much.
     http://github.com/caniszczyk/mylyn-git/blob/master/org.eclipse.mylyn.team.git/src/org/eclipse/mylyn/internal/team/git/changesets/GitActiveChangeSetProvider.java

You can look at what was done with the Mylyn CVS integration as a
stepping stone. Note that this will most likely cause us to use
internals from team.core (which is OK as there's no other way).

The second step is to integrate with the ITaskActivationListener in
Mylyn so we can switch branches automatically based on your task.
There are a few ways of approaching this but I've started some
thoughts with a hack here...
     http://github.com/caniszczyk/mylyn-git/blob/master/org.eclipse.mylyn.team.git/src/org/eclipse/mylyn/internal/team/git/tasks/TaskActivationListener.java

Here are some items to think about:
  * how to name branches based on the task you're working on (i.e.,
avoid conflicts)
  * do we prompt users when a task gets activated to create/switch to
a new branch? how do we make this not annoying
  * if a task is deactivated, do we switch back to master or the last
branch we were working on?

Feel free to fork the repository and throw any pull requests my way.
If it gets in good enough shape, I'll eventually move it over to EGit.
Also ask any questions on this mailing list if you come across them.

-- 
Cheers,

Chris Aniszczyk
http://aniszczyk.org
+1 860 839 2465


Back to the top