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

Bug 334325

Summary: [server] Compile errors against egit 10.1
Product: [ECD] Orion Reporter: Andrew Niefer <aniefer>
Component: ClientAssignee: Tomasz Zarna <tomasz.zarna>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: bokowski
Version: 0.2   
Target Milestone: 0.2   
Hardware: PC   
OS: Linux   
Whiteboard:
Attachments:
Description Flags
Fix v01
none
mylyn/context/zip none

Description Andrew Niefer CLA 2011-01-13 17:05:34 EST
There are currently compile errors in 
org.eclipse.orion.server.filesystem.git/src/org/eclipse/orion/server/filesystem/git/GitFileStore.java
When compiling against egit 10.1 which was published over the christmas break.

 [javac] 1. ERROR in /web/builds/I201101131656/plugins/org.eclipse.orion.server.filesystem.git/src/org/eclipse/orion/server/filesystem/git/GitFileStore.java (at line 421)
    [javac] 	final CloneOperation op = new CloneOperation(uri, true, null,
    [javac] 						workdir, "refs/heads/master", "origin", 0);
    [javac] 	                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    [javac] The constructor CloneOperation(URIish, boolean, null, File, String, String, int) is undefined
Comment 1 Boris Bokowski CLA 2011-01-13 17:10:57 EST
I'm surprised that we have a dependency on egit - shouldn't we be using only jgit? Please take my comment with a grain of salt.. I don't actually know what's part of egit but assumed jgit was the implementation of Git and egit added the Eclipse (desktop) integration.
Comment 2 Tomasz Zarna CLA 2011-01-14 05:00:05 EST
(In reply to comment #0)
> When compiling against egit 10.1 which was published over the christmas break.

jgit/egit API is pretty vibrant, so to avoid situations like this I had added specific versions of org.eclipse.jgit and org.eclipse.egit.core to our previous repository. These dependencies were not moved to dev.eclipse.org, which resulted in the compilation error you see.

I'll update GitFileStore so it compiles against the latest jgit/egit source. 

(In reply to comment #1)
> jgit was the implementation of Git and egit added the Eclipse (desktop) integration.

That's correct, but there is no API in jgit that would allow me to clone a repo as easy as the CloneOperation from egit.core does. However, I'm aware that the dependency is no good, so I'll prepare our own implementation of egit's CloneOperation (which basically does init, fetch and checkout, all can be done with jgit API). When done I'll remove the dep on egit, leaving the one on jgit only.
Comment 3 Tomasz Zarna CLA 2011-01-14 06:26:05 EST
Created attachment 186817 [details]
Fix v01

(In reply to comment #2)
> I'll update GitFileStore so it compiles against the latest jgit/egit source.

Fix for the above. I managed to self-host and link to a git repo with the patch. I did even run some tests after I fixed bug 334365 on my side. 

I don't have commit right sto e4 yet so the patch will have to wait here for a while.
Comment 4 Tomasz Zarna CLA 2011-01-14 06:26:08 EST
Created attachment 186818 [details]
mylyn/context/zip
Comment 5 Andrew Niefer CLA 2011-01-14 13:56:20 EST
I released the patch for you Tomasz, the build ran to completion.
Comment 6 Tomasz Zarna CLA 2011-01-17 04:47:19 EST
(In reply to comment #2)
> [...] I'll prepare our own implementation of egit's CloneOperation [...]
> When done I'll remove the dep on egit, leaving the one on jgit only.

Filed bug 334503.

(In reply to comment #5)
> I released the patch for you Tomasz, the build ran to completion.

Thanks, sorry for the trouble.