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

Bug 493172

Summary: Implement push tags
Product: [ECD] Orion Reporter: XinYi Jiang <xinyij>
Component: NodeAssignee: XinYi Jiang <xinyij>
Status: CLOSED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: Michael_Rennie, remy.suen, Silenio_Quarti
Version: unspecified   
Target Milestone: 16.0   
Hardware: All   
OS: All   
See Also: https://git.eclipse.org/r/72212
https://git.eclipse.org/c/orion/org.eclipse.orion.client.git/commit/?id=1a842441b35a68221ae969a617fcf26c3a6982d4
https://github.com/eclipse/orion.client/pull/97
Whiteboard:
Bug Depends on: 511822    
Bug Blocks: 514343    

Description XinYi Jiang CLA 2016-05-06 15:51:19 EDT
current implementation might have performance issue if there are too many tags in the local. If the performance is an issue, this implementation will be changed.
Comment 1 XinYi Jiang CLA 2016-05-06 15:54:49 EDT
Beside the potential performance issue, the push feed back is not implemented in this patch. We might wait until nodegit has ls-remote function implemented.
Comment 2 Eclipse Genie CLA 2016-05-06 16:04:59 EDT
New Gerrit change created: https://git.eclipse.org/r/72212
Comment 4 Silenio Quarti CLA 2016-05-09 15:20:13 EDT
I had to disable pushing tags because I am no longer able to push to git.eclipse.org.  I always get this error message:

report-status: protocol error


http://git.eclipse.org/c/orion/org.eclipse.orion.client.git/commit/?id=858eca3980ad0e4f508971cea9b6302bbdbaf029
Comment 5 Silenio Quarti CLA 2016-05-11 11:31:55 EDT
Nodegit does not support wildcard refspecs. We should be able to push all tags with this refspec "refs/tags/*:refs/tags/*".  I have opened a bug against nodegit (https://github.com/libgit2/libgit2/issues/3640) requesting that support.  We should see how hard would be to contribute a pull request to nodegit.

The patch above tries to list all tags and push them, but it fails when there many tags in the repo.
Comment 6 Michael Rennie CLA 2017-01-10 15:44:52 EST
Closing as part of a mass clean up of inactive bugs. Please reopen if this problem still occurs or is relevant to you. For more details see:

https://dev.eclipse.org/mhonarc/lists/orion-dev/msg04002.html
Comment 7 Remy Suen CLA 2017-03-04 16:35:18 EST
Reopening as this is still a relevant feature that's missing.
Comment 8 Remy Suen CLA 2017-03-04 17:18:04 EST
(In reply to XinYi Jiang from comment #1)
> Beside the potential performance issue, the push feed back is not
> implemented in this patch. We might wait until nodegit has ls-remote
> function implemented.

Remote.referenceList(*) has been added in NodeGit v0.18.0.

http://www.nodegit.org/api/remote/#referenceList
Comment 9 XinYi Jiang CLA 2017-03-06 09:14:12 EST
Thanks, i will see how this new api works, and try to implement that.
Comment 10 XinYi Jiang CLA 2017-03-06 15:07:39 EST
(In reply to Remy Suen from comment #8)
> (In reply to XinYi Jiang from comment #1)
> > Beside the potential performance issue, the push feed back is not
> > implemented in this patch. We might wait until nodegit has ls-remote
> > function implemented.
> 
> Remote.referenceList(*) has been added in NodeGit v0.18.0.
> 
> http://www.nodegit.org/api/remote/#referenceList

I have checked this new api, and I don't think it is ls-remote, in the documentation, it says "You must connect to the remote before using referenceList", and the way to connect to a remote is using remote.fetch, which you need to pass an array of refSpecs, so I think the referenceList is just give you the refSpecs you passed into remote.fetch when connecting. 

So I don't think this new API is the one we are waiting for.
Comment 11 Remy Suen CLA 2017-03-06 15:48:16 EST
(In reply to XinYi Jiang from comment #10)
> I have checked this new api, and I don't think it is ls-remote, in the
> documentation, it says "You must connect to the remote before using
> referenceList", and the way to connect to a remote is using remote.fetch

You can just call a Remote's connect(*) function and it'll connect to the remote host. You don't have to use the fetch(*) function.

http://www.nodegit.org/api/remote/#connect

I'll look at this, Sidney.
Comment 12 Eclipse Genie CLA 2017-06-29 17:04:17 EDT
GitHub Pull Request 97 created by [soulbeing]
https://github.com/eclipse/orion.client/pull/97