/
Fixing DCO on main/release
Fixing DCO on main/release
A maintainer with Admin access to the repository is required to fix the main repo:
- Clone an up-to-date version of the broken branch
git commit --amend--signoffand ensure the appropriate Sign-off is included in the commit message- Visit https://github.com/hyperledger/besu/settings/branches and change the glob to no-longer match the branch that is about to be force-pushed to
git push --force-with-lease origin main- Return the branch protection glob to the old value
- Announce the change in the contributors channel a message like "The head of `main` branch for repository `hyperledger/besu` has been rebased to deal with a DCO issue, please follow the instructions on Fixing DCO on main/release to fix your local repositories"
For everyone else (only required if you were unlucky enough to check out the commit with the broken DCO) to fix your local repo:
git fetch origingit branch -f main origin/mainif your local main is based off the upstream main- (Optionally)
git push --force FORK mainif you are keeping your fork's main up-to-date - For all branches based on the bad checkout:
git checkout $BRANCHgit rebase --interactive main- Remove the old main commit from the list
Sometimes you might get DCO issues on a release branch when you're merging new commits in, fix it following a similar process:
git checkout release-22.1.xto checkout the release branch at the last releasegit merge mainto merge in desired commits (use git reset --hard xxxx to set main at a desired commit)git rebase -i HEAD~10to initiate a interactive rebase, replace 10 with the number of commits back that has DCO issues- In the rebase file find the commit hashes with DCO issues, replace the '
pick' with 'edit' - You might also need to fix some merge conflicts as the rebase happens, should be straight forward
- When the rebase stops at your desired commits, run
git commit --amend --no-edit --signoff to signoffthe commit - Run
git rebase --continueto continue, repeat steps 5-6 until done - Push the changes with
git push --force-with-lease origin release-22.1.2
, multiple selections available,
Related content
Release Process
Release Process
More like this
Documentation release process
Documentation release process
More like this
2024-01-06 Mainnet Halting Event
2024-01-06 Mainnet Halting Event
More like this
Changelog Improvement Proposal
Changelog Improvement Proposal
More like this
2021-08-04 Value transfer public transactions being rejected by Besu
2021-08-04 Value transfer public transactions being rejected by Besu
More like this