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

Bug 569607

Summary: Can no longer push to gerrit - not detected as committer
Product: Community Reporter: Stephan Wahlbrink <sw>
Component: GerritAssignee: Eclipse Webmaster <webmaster>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: chris.guindon, dkolovos, kai.hudalla, martin.lowe, mikael.barbero
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Stephan Wahlbrink CLA 2020-12-09 15:17:24 EST
Can no longer push to gerrit as committer:

> commit a3cc575: The contributor must sign-off on the contribution.
> > Processing changes: (\)
> Processing changes: refs: 1 (\)
> Processing changes: refs: 1, done    
> commit a3cc575: warning: subject >50 characters; use shorter first paragraph
> commit a3cc575: ----------
> commit a3cc575: Reviewing commit: a3cc575c
> commit a3cc575: Authored by: Stephan Wahlbrink <sw@*>
> commit a3cc575: 
> commit a3cc575: Reviewing commit: a3cc575c69bc34a753de03fbba7339df3e83b6af
> commit a3cc575: Authored by: Stephan Wahlbrink <sw@*>
> commit a3cc575: The author is not a committer on the project.
> commit a3cc575: The author has a current Eclipse Contributor Agreement (ECA) on file.
> commit a3cc575: The author has not signed-off on the contribution.
> If there are multiple commits, please ensure that each commit is signed-off.
> commit a3cc575: 
> commit a3cc575: Please see http://wiki.eclipse.org/ECA
Comment 1 Martin Lowe CLA 2020-12-09 16:11:55 EST
Which repo was this for? We updated our plugin that validates users' commit status and it is more strict than the previous version. Signing your commit (with a signed-off-by footer) should get around this for now, but we should figure out why you aren't being detected as a committer on the project.
Comment 2 Stephan Wahlbrink CLA 2020-12-09 16:14:38 EST
The repo is: statet/org.eclipse.statet-r
Comment 3 Martin Lowe CLA 2020-12-09 17:04:14 EST
(In reply to Stephan Wahlbrink from comment #2)
> The repo is: statet/org.eclipse.statet-r

We discovered the root of the issue, but we are unable to solve the issue immediately. We've reverted the plugin to the previous version while we work on the fix, see https://github.com/EclipseFdn/gerrit-eca-plugin/issues/30
Comment 4 Kai Hudalla CLA 2020-12-10 03:35:21 EST
I am trying to push changes to the Hono project's web site git repo, signing off the commit as user hono-bot@eclipse.org which seems to fail as well for the same reason:

git push origin HEAD:refs/heads/master
remote: 
remote: Processing changes: (\)
remote: Processing changes: refs: 1 (\)
remote: Processing changes: refs: 1, done            
remote: commit b43c79d: ----------        
remote: commit b43c79d: Reviewing commit: b43c79d8        
remote: commit b43c79d: Authored by: Hono Bot <hono-bot@eclipse.org>        
remote: commit b43c79d:         
remote: commit b43c79d: Reviewing commit: b43c79d88ef7d825aa8820071978fdbe92c0434d        
remote: commit b43c79d: Authored by: Hono Bot <hono-bot@eclipse.org>        
remote: commit b43c79d: The author is not a committer on the project.        
remote: commit b43c79d: The author does not have a current Eclipse Contributor Agreement (ECA) on file.        
remote: If there are multiple commits, please ensure that each author has a ECA.        
remote: commit b43c79d: The author has signed-off on the contribution.        
remote: commit b43c79d:         
remote: commit b43c79d: Please see http://wiki.eclipse.org/ECA        
To ssh://git.eclipse.org:29418/www.eclipse.org/hono.git
 ! [remote rejected]     HEAD -> master (commit b43c79d: An Eclipse Contributor Agreement is required.)
error: failed to push some refs to 'ssh://genie.hono@git.eclipse.org:29418/www.eclipse.org/hono.git'

So, signing off on the commit doesn't seem to help in our case.
Have you already reverted the plugin?

Kai
Comment 5 Frederic Gurr CLA 2020-12-10 03:53:11 EST
*** Bug 569615 has been marked as a duplicate of this bug. ***
Comment 6 Dimitris Kolovos CLA 2020-12-10 04:12:24 EST
> We've reverted the plugin to the previous version while we work on the fix

Does this suggest that we should now be able to push commits?
Comment 7 Mikaël Barbero CLA 2020-12-10 04:33:01 EST
(In reply to Dimitris Kolovos from comment #6)
> > We've reverted the plugin to the previous version while we work on the fix
> 
> Does this suggest that we should now be able to push commits?

The revert was not properly taken into account by Gerrit. It should be fixed now. Please try again.
Comment 8 Dimitris Kolovos CLA 2020-12-10 04:36:37 EST
It works fine now - many thanks!
Comment 9 Kai Hudalla CLA 2020-12-10 04:40:26 EST
Same here. Our pipeline succeeds again. Many thanks for fixing ...
Comment 10 Mikaël Barbero CLA 2020-12-10 04:42:13 EST
Thanks for the feedbacks!  

Closing this one. The fix on the next version will be done via https://github.com/EclipseFdn/gerrit-eca-plugin/issues/30
Comment 11 Dimitris Kolovos CLA 2020-12-18 01:37:27 EST
This seems to be happening again when I try to push to Epsilon's website repo: https://git.eclipse.org/c/www.eclipse.org/epsilon.git/
Comment 12 Christopher Guindon CLA 2020-12-18 08:40:35 EST
(In reply to Dimitris Kolovos from comment #11)
> This seems to be happening again when I try to push to Epsilon's website
> repo: https://git.eclipse.org/c/www.eclipse.org/epsilon.git/

Can you share more information about your error, please?
Comment 13 Dimitris Kolovos CLA 2020-12-18 08:43:29 EST
Sure. I'm trying to push two commits to Epsilon's website repo and I'm getting the following error message. I am an Epsilon committer and I have made several commits to this repo so far without issues.

Enumerating objects: 35, done.
Counting objects: 100% (35/35), done.
Delta compression using up to 8 threads
Compressing objects: 100% (20/20), done.
Writing objects: 100% (21/21), 3.24 KiB | 301.00 KiB/s, done.
Total 21 (delta 14), reused 0 (delta 0)
remote: Resolving deltas: 100% (14/14)
remote: Processing changes: refs: 1, done    
remote: commit eca4ec5: ----------
remote: commit eca4ec5: Reviewing commit: eca4ec54
remote: commit eca4ec5: Authored by: Dimitris Kolovos <dkolovos@cs.york.ac.uk>
remote: commit eca4ec5: 
remote: commit eca4ec5: Reviewing commit: eca4ec5444b811a6a82cf6d42cad6e7cc3e10577
remote: commit eca4ec5: Authored by: Dimitris Kolovos <dkolovos@cs.york.ac.uk>
remote: commit eca4ec5: The author is not a committer on the project.
remote: commit eca4ec5: The author has a current Eclipse Contributor Agreement (ECA) on file.
remote: commit eca4ec5: The author has not signed-off on the contribution.
remote: If there are multiple commits, please ensure that each commit is signed-off.
remote: commit eca4ec5: 
remote: commit eca4ec5: Please see http://wiki.eclipse.org/ECA
To ssh://git.eclipse.org:29418/www.eclipse.org/epsilon.git
 ! [remote rejected]   master -> master (commit eca4ec5: The contributor must sign-off on the contribution.)
error: failed to push some refs to 'ssh://dkolovos@git.eclipse.org:29418/www.eclipse.org/epsilon.git'
Comment 14 Christopher Guindon CLA 2020-12-18 09:03:34 EST
(In reply to Dimitris Kolovos from comment #13)
> Sure. I'm trying to push two commits to Epsilon's website repo and I'm
> getting the following error message. I am an Epsilon committer and I have
> made several commits to this repo so far without issues.
> 
> Enumerating objects: 35, done.
> Counting objects: 100% (35/35), done.
> Delta compression using up to 8 threads
> Compressing objects: 100% (20/20), done.
> Writing objects: 100% (21/21), 3.24 KiB | 301.00 KiB/s, done.
> Total 21 (delta 14), reused 0 (delta 0)
> remote: Resolving deltas: 100% (14/14)
> remote: Processing changes: refs: 1, done    
> remote: commit eca4ec5: ----------
> remote: commit eca4ec5: Reviewing commit: eca4ec54
> remote: commit eca4ec5: Authored by: Dimitris Kolovos
> <dkolovos@cs.york.ac.uk>
> remote: commit eca4ec5: 
> remote: commit eca4ec5: Reviewing commit:
> eca4ec5444b811a6a82cf6d42cad6e7cc3e10577
> remote: commit eca4ec5: Authored by: Dimitris Kolovos
> <dkolovos@cs.york.ac.uk>
> remote: commit eca4ec5: The author is not a committer on the project.
> remote: commit eca4ec5: The author has a current Eclipse Contributor
> Agreement (ECA) on file.
> remote: commit eca4ec5: The author has not signed-off on the contribution.
> remote: If there are multiple commits, please ensure that each commit is
> signed-off.
> remote: commit eca4ec5: 
> remote: commit eca4ec5: Please see http://wiki.eclipse.org/ECA
> To ssh://git.eclipse.org:29418/www.eclipse.org/epsilon.git
>  ! [remote rejected]   master -> master (commit eca4ec5: The contributor
> must sign-off on the contribution.)
> error: failed to push some refs to
> 'ssh://dkolovos@git.eclipse.org:29418/www.eclipse.org/epsilon.git'

You are expected to include the sign-off-by footer for repos that are not officially "owned" by the project. TO be clear, you should still have write access but you must include your sign-off-by footer in your commit message.

We treat both use cases differently. For example, we don't require an IP review for a website repository.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=569703#c24

*** This bug has been marked as a duplicate of bug 569703 ***
Comment 15 Dimitris Kolovos CLA 2020-12-18 09:13:20 EST
Thanks for investigating. 

> You are expected to include the sign-off-by footer ...

This was definitely not the case up to a few days ago. If it's a requirement now, I will investigate what a "sign-off footer" is and how I can add it to future commit messages, but it feels like a significant - and somewhat abrupt - change in policy. Was this widely communicated somehow or is Epsilon a special case in that its website repo is not owned by the project?
Comment 16 Christopher Guindon CLA 2020-12-18 09:28:32 EST
(In reply to Dimitris Kolovos from comment #15)
> Thanks for investigating. 
> 
> > You are expected to include the sign-off-by footer ...
> 
> This was definitely not the case up to a few days ago. If it's a requirement
> now, I will investigate what a "sign-off footer" is and how I can add it to
> future commit messages, but it feels like a significant - and somewhat
> abrupt - change in policy. Was this widely communicated somehow or is
> Epsilon a special case in that its website repo is not owned by the project?

You can include the sign-off-by footer using the -s flag:

git commit -m "example" -s

There is also a shortcut in eclipse for it.

It's not a special case or a change in our policy, this applies to all projects. 

The new version is doing a better job at enforcing this requirement since we had issues with the previous version.
Comment 17 Dimitris Kolovos CLA 2020-12-18 09:57:42 EST
> The new version is doing a better job at enforcing this requirement since we had issues with the previous version.

OK - this explains things. Thanks again for all your help with this!
Comment 18 Dimitris Kolovos CLA 2020-12-19 03:49:30 EST
I'm now getting similar error messages in Epsilon's main repo [1] too (see below). This time Gerrit complains that I'm not a committer in the project. Adding the -s flag to "git commit" allows me to push, which is somewhat puzzling if Gerrit thinks that I'm not a committer in the first place. Could this also be related to the recent update of the ECA plugin?

Enumerating objects: 40, done.
Counting objects: 100% (40/40), done.
Delta compression using up to 8 threads
Compressing objects: 100% (12/12), done.
Writing objects: 100% (23/23), 3.18 KiB | 3.18 MiB/s, done.
Total 23 (delta 8), reused 0 (delta 0)
remote: Resolving deltas: 100% (8/8)
remote: Processing changes: refs: 1, done    
remote: commit a4d74a1: ----------
remote: commit a4d74a1: Reviewing commit: a4d74a12
remote: commit a4d74a1: Authored by: Dimitris Kolovos <dkolovos@cs.york.ac.uk>
remote: commit a4d74a1: 
remote: commit a4d74a1: Reviewing commit: a4d74a127765cb63ea8a0dc15035977d5912ffae
remote: commit a4d74a1: Authored by: Dimitris Kolovos <dkolovos@cs.york.ac.uk>
remote: commit a4d74a1: The author is not a committer on the project.
remote: commit a4d74a1: The author has a current Eclipse Contributor Agreement (ECA) on file.
remote: commit a4d74a1: The author has not signed-off on the contribution.
remote: If there are multiple commits, please ensure that each commit is signed-off.
remote: commit a4d74a1: 
remote: commit a4d74a1: Please see http://wiki.eclipse.org/ECA
To ssh://git.eclipse.org:29418/epsilon/org.eclipse.epsilon.git
 ! [remote rejected]     master -> master (commit a4d74a1: The contributor must sign-off on the contribution.)
error: failed to push some refs to 'ssh://dkolovos@git.eclipse.org:29418/epsilon/org.eclipse.epsilon.git'

[1] https://git.eclipse.org/c/epsilon/org.eclipse.epsilon.git/
Comment 19 Christopher Guindon CLA 2021-01-05 14:38:04 EST
(In reply to Dimitris Kolovos from comment #18)
> I'm now getting similar error messages in Epsilon's main repo [1] too (see
> below). This time Gerrit complains that I'm not a committer in the project.
> Adding the -s flag to "git commit" allows me to push, which is somewhat
> puzzling if Gerrit thinks that I'm not a committer in the first place. Could
> this also be related to the recent update of the ECA plugin?
> 
> Enumerating objects: 40, done.
> Counting objects: 100% (40/40), done.
> Delta compression using up to 8 threads
> Compressing objects: 100% (12/12), done.
> Writing objects: 100% (23/23), 3.18 KiB | 3.18 MiB/s, done.
> Total 23 (delta 8), reused 0 (delta 0)
> remote: Resolving deltas: 100% (8/8)
> remote: Processing changes: refs: 1, done    
> remote: commit a4d74a1: ----------
> remote: commit a4d74a1: Reviewing commit: a4d74a12
> remote: commit a4d74a1: Authored by: Dimitris Kolovos
> <dkolovos@cs.york.ac.uk>
> remote: commit a4d74a1: 
> remote: commit a4d74a1: Reviewing commit:
> a4d74a127765cb63ea8a0dc15035977d5912ffae
> remote: commit a4d74a1: Authored by: Dimitris Kolovos
> <dkolovos@cs.york.ac.uk>
> remote: commit a4d74a1: The author is not a committer on the project.
> remote: commit a4d74a1: The author has a current Eclipse Contributor
> Agreement (ECA) on file.
> remote: commit a4d74a1: The author has not signed-off on the contribution.
> remote: If there are multiple commits, please ensure that each commit is
> signed-off.
> remote: commit a4d74a1: 
> remote: commit a4d74a1: Please see http://wiki.eclipse.org/ECA
> To ssh://git.eclipse.org:29418/epsilon/org.eclipse.epsilon.git
>  ! [remote rejected]     master -> master (commit a4d74a1: The contributor
> must sign-off on the contribution.)
> error: failed to push some refs to
> 'ssh://dkolovos@git.eclipse.org:29418/epsilon/org.eclipse.epsilon.git'
> 
> [1] https://git.eclipse.org/c/epsilon/org.eclipse.epsilon.git/

From what I can tell, you are CM and a PL for that project:
https://api.eclipse.org/account/profile/dkolovos/projects 

I am wondering if the validation service is not properly detecting your committer status because you have two roles (PL, CM) for this project

Martin, can you take a look at this? 

Dimitris should not be required to include the sign-off-by footer for this repo:
https://projects.eclipse.org/api/projects/modeling.epsilon.json
Comment 20 Martin Lowe CLA 2021-01-05 16:06:33 EST
(In reply to Dimitris Kolovos from comment #18)
> I'm now getting similar error messages in Epsilon's main repo [1] too (see
> below). This time Gerrit complains that I'm not a committer in the project.
> Adding the -s flag to "git commit" allows me to push, which is somewhat
> puzzling if Gerrit thinks that I'm not a committer in the first place. Could
> this also be related to the recent update of the ECA plugin?
> 
> Enumerating objects: 40, done.
> Counting objects: 100% (40/40), done.
> Delta compression using up to 8 threads
> Compressing objects: 100% (12/12), done.
> Writing objects: 100% (23/23), 3.18 KiB | 3.18 MiB/s, done.
> Total 23 (delta 8), reused 0 (delta 0)
> remote: Resolving deltas: 100% (8/8)
> remote: Processing changes: refs: 1, done    
> remote: commit a4d74a1: ----------
> remote: commit a4d74a1: Reviewing commit: a4d74a12
> remote: commit a4d74a1: Authored by: Dimitris Kolovos
> <dkolovos@cs.york.ac.uk>
> remote: commit a4d74a1: 
> remote: commit a4d74a1: Reviewing commit:
> a4d74a127765cb63ea8a0dc15035977d5912ffae
> remote: commit a4d74a1: Authored by: Dimitris Kolovos
> <dkolovos@cs.york.ac.uk>
> remote: commit a4d74a1: The author is not a committer on the project.
> remote: commit a4d74a1: The author has a current Eclipse Contributor
> Agreement (ECA) on file.
> remote: commit a4d74a1: The author has not signed-off on the contribution.
> remote: If there are multiple commits, please ensure that each commit is
> signed-off.
> remote: commit a4d74a1: 
> remote: commit a4d74a1: Please see http://wiki.eclipse.org/ECA
> To ssh://git.eclipse.org:29418/epsilon/org.eclipse.epsilon.git
>  ! [remote rejected]     master -> master (commit a4d74a1: The contributor
> must sign-off on the contribution.)
> error: failed to push some refs to
> 'ssh://dkolovos@git.eclipse.org:29418/epsilon/org.eclipse.epsilon.git'
> 
> [1] https://git.eclipse.org/c/epsilon/org.eclipse.epsilon.git/

So I've dug around the data we have, along with the commit message (much appreciated!) and I've hit a dead end. We'll have to run a test using a debug mode to get more data about what's going on. Are you available to assist with your use case? We would need to turn on the debug mode for a short period and have you push a test commit to the repository. We can't leave debug on as there is a lot of log of churn that would bury the important data very quickly, so we'd have to sync up to test.
Comment 21 Dimitris Kolovos CLA 2021-01-06 02:19:23 EST
This was somehow fixed a couple of days later. I can now push commits again without having to sign them off.
Comment 22 Martin Lowe CLA 2021-01-06 08:59:23 EST
(In reply to Dimitris Kolovos from comment #21)
> This was somehow fixed a couple of days later. I can now push commits again
> without having to sign them off.

Sounds good! I think this was the last lingering issue with this bug, so I'll close it now. Thanks for the quick reply!