Problem with CLA agreement signing
kevtran2 opened this issue · comments
I am getting this error below: "Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.
✅ kevtran2
❌ Kevin Tran
Kevin Tran seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it."
As you can see kevtran2 is my account, but in addition to that the CLAassistant wants "Kevin Tran" to sign the agreement. I only have one github account to sign the agreement with, so I am stuck at this point unable to merge my pull request...
I assume this is about uber/piranha#577, right?
Looking at the commits it seems that two of the three commits are indeed associated with your GitHub account. The third commit is associated with Kevin Tran <kevintran@Kevins-MacBook-Pro.local>
(https://github.com/uber/piranha/commit/1d5af6467a5088e4f0c5b1d52c9976eafbc30d31.patch). GitHub uses the email address to map commits to users and because that is not your valid email it can't map it.
Here is a good article how you can rewrite the commits with your proper email address and repush them: https://www.git-tower.com/learn/git/faq/change-author-name-email
Notice that you actually need to perform a force push, overwriting the existing commits.
I followed the article to change the author, but it seems git is still seeing my commits as a contribution from 3 emails(2 of my personal emails, and the local username@host(kevintran@Kevins-MacBook-Pro.local) seen from my terminal prompt. How can I get around this?
Two options:
Run git reset 3955145e21b6fb20535a61c53f26a1d7f27c875a
(latest commit on upstream master). This will reset git to the status before you added your changes and you can redo your commit. Check that it now looks properly with git log
. Afterwards force push (git push --force
) your changes up and you should see only a single commit.
- or -
- Checkout the master branch of the repository you want to contribute to (
git checkout master
) - Create a new branch for your contribution from master (
git checkout -b typescript-support
) - Run
git cherry-pick 1d5af6467a5088e4f0c5b1d52c9976eafbc30d31
to cherry pick your one "content" commit - Amend the just cherry picked commit with
git commit --amend --author="John Doe <john@doe.org>"
with your proper name and email. - Lastly use
git log
to confirm that the information got updated.
It should look like this:
- Finally push the change up to your forked repository with
git push https://github.com/kevtran2/piranha typescript-support
- Now open the Pull Request