Bug 303009 - GitHub Mylyn connector contribution to EGit
Summary: GitHub Mylyn connector contribution to EGit
Status: RESOLVED FIXED
Alias: None
Product: EGit
Classification: Technology
Component: Mylyn (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 enhancement with 3 votes (vote)
Target Milestone: 0.11-M2   Edit
Assignee: Chris Aniszczyk CLA
QA Contact:
URL:
Whiteboard:
Keywords: noteworthy
Depends on:
Blocks:
 
Reported: 2010-02-16 19:02 EST by Fabian Steeg CLA
Modified: 2011-07-29 16:36 EDT (History)
16 users (show)

See Also:


Attachments
Initial Contribution (54.09 KB, application/octet-stream)
2011-01-14 16:31 EST, Christian Trutz CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Fabian Steeg CLA 2010-02-16 19:02:42 EST
In a discussion on David Green's blog (http://greensopinion.blogspot.com/2010/02/good-things-come-in-threes.html) Chris Aniszczyk suggested that EGit might be interested in a contribution of the GitHub Mylyn connector originally developed by Christian Trutz (http://github.com/smilebase/org.eclipse.mylyn.github).

Both Christian and David (who added new features to the connector at http://github.com/dgreen99/org.eclipse.mylyn.github) expressed their interest in contributing their work to EGit. I have added minimal tweaks to the project and would of course be happy to contribute them. There are two more contributors listed in the project's history.

Would EGit be interested in the connector? What would we need to do to make it happen?
Comment 1 Chris Aniszczyk CLA 2011-01-12 18:41:07 EST
It looks like all the dependencies are good (GSON is finishing up review).

So we would just need to get a legal review of the code donation.
Comment 2 Matthias Sohn CLA 2011-01-13 04:28:14 EST
But we would need to file CQs to enable usage of these new dependencies from egit, right ?
Comment 3 Chris Aniszczyk CLA 2011-01-13 17:04:28 EST
Let's do it.

I added gson to Orbit now and the other dependencies are already cleared. I'll file a CQ with the latest code. We'd also most likely have to rename it bundle to something like 'org.eclipse.egit.mylyn.github'

Should I use the latest source from David or Christian?
Comment 4 Fabian Steeg CLA 2011-01-13 19:40:12 EST
Awesome Chris, thanks for picking this up!

I'd suggest we use the latest source from Christian, which is more recent.
Comment 5 Christian Trutz CLA 2011-01-14 02:33:13 EST
(In reply to comment #3)
> Let's do it.

cool :-)

> 
> I added gson to Orbit now and the other dependencies are already cleared. I'll
> file a CQ with the latest code. We'd also most likely have to rename it bundle
> to something like 'org.eclipse.egit.mylyn.github'

+1

I will refactor package/bundle names for you in smilebase/org.eclipse.mylyn.github and hibernate this project.

Christian
Comment 6 Chris Aniszczyk CLA 2011-01-14 10:28:25 EST
Christian, you don't have to do the refactoring. It can be fine where it is now.

I can do the refactoring and necessary updating of third party libraries used.

The key thing is posting the source of the latest version. When the source is posted here, you'll have to confirm these questions for the IP team at Eclipse:

a.  authored 100%
b.  has the rights to donate the content to Eclipse
c.  contributes the content under the EPL

Also, would you want to become a committer to help maintain the code moving forward?
Comment 7 Christian Trutz CLA 2011-01-14 16:31:25 EST
Created attachment 186851 [details]
Initial Contribution

Initial contribution of org.eclipse.mylyn.github.
No nested JARs or ZIP files in the content.
Comment 8 Christian Trutz CLA 2011-01-14 16:39:59 EST
(In reply to comment #6)
> Christian, you don't have to do the refactoring. It can be fine where it is
> now.
> 
> I can do the refactoring and necessary updating of third party libraries used.

OK

> The key thing is posting the source of the latest version.

Done. 

>When the source is
> posted here, you'll have to confirm these questions for the IP team at Eclipse:
> 
> a.  authored 100%
YES, together with David Green (under Apache 2.0 License) 

> b.  has the rights to donate the content to Eclipse
YES

> c.  contributes the content under the EPL
OK

> 
> Also, would you want to become a committer to help maintain the code moving
> forward?
Oh yes, I want to become a EGit committer and maintain the org.eclipse.mylyn.github code :-)
Comment 9 Chris Aniszczyk CLA 2011-01-14 17:08:01 EST
Awesome, I created a CQ for that to start the review.
     https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4787

(In reply to comment #8)
> Oh yes, I want to become a EGit committer and maintain the
> org.eclipse.mylyn.github code :-)

Awesome, I'll start the vote at next week's EGit/JGit team meeting.
Comment 10 David Green CLA 2011-01-14 19:51:01 EST
I've been contributing to this project and would like to see it move forward (both implementation and being supported by the community and by the corresponding vendor, in this case GitHub).  Given the Mylyn restructuring, doesn't this belong under the Mylyn Tasks project (it is after all a Mylyn tasks connector, not a SCM-related component, and will need to evolve with the tasks framework).
Comment 11 Sebastian Hoß CLA 2011-01-15 08:38:35 EST
Great idea!

Any plans yet with the changes done by others? https://github.com/smilebase/org.eclipse.mylyn.github/network shows at least some commits since Christians last push in 2010-07. Can we continue to work on this without being a committer ourselves?
Comment 12 Christian Trutz CLA 2011-01-15 14:07:51 EST
(In reply to comment #11)
> Great idea!
> 
> Any plans yet with the changes done by others?
> https://github.com/smilebase/org.eclipse.mylyn.github/network shows at least
> some commits since Christians last push in 2010-07. Can we continue to work on
> this without being a committer ourselves?

Hi Sebastian,

i reviewed you code: great work :-) You introduce issues comments and many other improvements. Thanks for that :-)

The only problems i see:

- update GSON 1.3 -> 1.6
- introduction of GUAVA as dependency

@Chris is this really a problem?

Christian
Comment 13 Chris Aniszczyk CLA 2011-01-15 16:06:52 EST
(In reply to comment #12)
> The only problems i see:
> 
> - update GSON 1.3 -> 1.6
> - introduction of GUAVA as dependency
> 
> @Chris is this really a problem?

GSON 1.6 isn't a problem... I just got it approved within Eclipse Orbit.

Guava is currently going through the IP process... the Google libraries are usually fine so I don't predict any big issues with it (https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4760)
Comment 14 Chris Aniszczyk CLA 2011-01-15 16:07:16 EST
I would prefer to not depend on Guava unless it really gives us something.
Comment 15 Sebastian Hoß CLA 2011-01-16 11:07:14 EST
(In reply to comment #14)
> I would prefer to not depend on Guava unless it really gives us something.

I removed the guava libraries in the latest commit. Its just a bad habit of mine to include it everywhere :P The gson update was necessary to remove classes like GitHubShowIssue which were just used to access the inner json object. Newer versions of gson include access to the json parser which can just do that without any extra classes. The newer versions of gson also include a number of fixes and some performance improvements as listed here https://sites.google.com/site/gson/gson-roadmap

There is also commit https://github.com/mhandler/org.eclipse.mylyn.github/commit/d61a4d17eb4f9bd3516e39be480c2e0ea4a13e07 which enables user votings for issues.
Comment 16 Chris Aniszczyk CLA 2011-01-18 04:47:07 EST
(In reply to comment #10)
> I've been contributing to this project and would like to see it move forward
> (both implementation and being supported by the community and by the
> corresponding vendor, in this case GitHub).  Given the Mylyn restructuring,
> doesn't this belong under the Mylyn Tasks project (it is after all a Mylyn
> tasks connector, not a SCM-related component, and will need to evolve with the
> tasks framework).

I would be fine to put it under the Mylyn Tasks component if you think that would be best.
Comment 17 Jonathan Gossage CLA 2011-01-31 21:28:28 EST
I want to use the Mylyn Github connector for my team. While I could use the hibernated version on Github, I would prefer to use the version hosted at Eclipse. From what I can see, this code has not yet landed in Eclipse and I was wondering when and where will the code appear.
Comment 18 Mike Milinkovich CLA 2011-02-14 16:12:56 EST
(In reply to comment #10)
> I've been contributing to this project and would like to see it move forward
> (both implementation and being supported by the community and by the
> corresponding vendor, in this case GitHub).  

David, I noticed in Christian's comment that you are listed as a co-author, and that the original effort was done under the ASL 2.0. In the interest of completeness, could you also please confirm your willingness to contribute this code under the EPL?

My apologies in advance if I've misunderstood Christian's comments.

Thanks, this sounds like a cool contribution!
Comment 19 Gabriel Ciuloaica CLA 2011-02-20 05:21:30 EST
Hi,

I have done some resent work on the github connector. I have done a new  fork since I've seen no recent activity on the connector. (http://devsprint.github.com/org.eclipse.mylyn.github/)
I have fixed most of the open issues mention in David Green fork.
However I have discovered other issues using it.

I'm planning to fix those discovered issue and do some work related to release process of the connector. Plan is to release a new version by end of this month.

I'm open to contribute all my work to eclipse.

Let me know what needs to be done to help in moving code to eclipse.
Comment 20 Kevin Sawicki CLA 2011-03-22 00:23:07 EDT
I am interested in contributing to this project to support both GitHub issues and pull requests through Mylyn.
Comment 21 Chris Aniszczyk CLA 2011-03-22 11:47:19 EDT
That's great news.(In reply to comment #20)
> I am interested in contributing to this project to support both GitHub issues
> and pull requests through Mylyn.

That's great to hear!

The initial contribution has gone through the IP process at Eclipse which is great. Right now, we need to find a place for the code to live. Most likely it will end up in Mylyn.

I will do my best to start this moving this week.
Comment 22 Chris Aniszczyk CLA 2011-03-23 20:18:21 EDT
The initial contribution now lives within EGit.
     http://wiki.eclipse.org/EGit/Contributor_Guide#EGit_GitHub_Integration

Builds are running in Hudson also...
     https://hudson.eclipse.org/hudson/job/egit-github/

In the future, once things become more polish, we can consider a move review to Mylyn (if it makes sense).
Comment 23 Mik Kersten CLA 2011-03-28 11:51:37 EDT
During EclipseCon I had a chance to chat with a few of the interested parties here, including folks from GitHub.  I'll summarize the discussions towards the end of the week.
Comment 24 David Green CLA 2011-07-29 16:36:22 EDT
(In reply to comment #18)
> David, I noticed in Christian's comment that you are listed as a co-author, and
> that the original effort was done under the ASL 2.0. In the interest of
> completeness, could you also please confirm your willingness to contribute this
> code under the EPL?

Mike, apologies that I missed your comment.  I responded to these questions January 27th 2011 in an email to Christian and sharon.corbett@eclipse.org, quoted below for reference:

bq.. Answers below:

On Thu, Jan 27, 2011 at 12:31 PM, Christian Trutz <christian.trutz@gmail.com> wrote:
Hi David,

here the questions from Eclipse IP regarding donation of GitHub Mylyn connector:

1] Did you agree to contribute the code to the Eclipse Mylyn GitHub Connector project:

yes
 
     a) to be licensed as open source under the Apache 2.0 license; and now
yes
 
 
     b) to be licensed as open source under the EPL license? 

yes
 

2] Did you [yourself] write the code you contributed to the Eclipse Mylyn GitHub Connector project?

yes
 
 
3] Does anyone else have rights to the code you contributed? [For example, did you have an agreement with an employer giving the employer rights to all code you wrote during that time?]

no, no
 
 
4] Can you estimate how much code you contributed to the Eclipse Mylyn GitHub Connector project?

119 files changed
2653 lines added
2772 lines removed


I hope that helps.  Please let me know if you have any questions.