Skip to content

chore(release): record master merge into release_v4.8.2#6869

Merged
lvs0075 merged 12 commits into
tronprotocol:release_v4.8.2from
halibobo1205:release_v4.8.2_merge_master
Jul 9, 2026
Merged

chore(release): record master merge into release_v4.8.2#6869
lvs0075 merged 12 commits into
tronprotocol:release_v4.8.2from
halibobo1205:release_v4.8.2_merge_master

Conversation

@halibobo1205

Copy link
Copy Markdown
Collaborator

Summary

This PR records master as merged into release_v4.8.2 using an ours merge commit.

The release branch had already absorbed or superseded the relevant master-side changes via prior synchronization commits, but the Git history did not include master as a merge parent. As a result, attempting to merge master again produced many stale conflicts.

This PR only updates Git history:

  • records master commit a79693e450 as a parent of release_v4.8.2
  • keeps the current release_v4.8.2 tree unchanged
  • avoids reintroducing outdated master-side changes or duplicate conflict resolution

Command Used

git merge -s ours --no-ff master -m "chore: record master merge into release_v4.8.2"

Verification

History-only invariant

git diff --stat HEAD^1 HEAD
git merge-base --is-ancestor master HEAD

Results:

  • git diff --stat HEAD^1 HEAD is empty
  • git merge-base --is-ancestor master HEAD exits successfully
  • no source, config, test, or workflow files are changed by this PR

Note: with -s ours, the empty diff is true by construction. It confirms this PR changes no files, but it does not by itself prove that master-side changes were already absorbed. That was verified separately.

Content check

The master parent of this merge commit is HEAD^2, and the pre-merge release parent is HEAD^1.

git log --oneline HEAD^1..HEAD^2

Those master-side commits were checked against the release tree:

  • feat(vm): optimize the check for ModExp is present via MUtil.checkCPUTimeForModExp()
  • feat(vm): optimize the check for create2 is present via MUtil.checkCPUTimeForCreate2()
  • feat(*): disable exchange transaction is present via isExchangeTransaction() in Manager.java
  • test(vm): add tests for create2/modExp checks is present via Create2ModExpForkTest.java
  • feat(config): fix git.properties NPE is present via the null guard in Args.java
  • CI workflow changes are present or superseded: system-test.yml was replaced by integration-test-single-node.yml and integration-test-multinode.yml
  • version bumps and Merge release_v4.8.1 to master are superseded by the 4.8.2 release state

Spot-check commands used:

git grep -n "checkCPUTimeForModExp\|checkCPUTimeForCreate2" HEAD^1 -- actuator/src/main/java/org/tron/core/vm/
git grep -n "isExchangeTransaction" HEAD^1 -- framework/src/main/java/org/tron/core/db/Manager.java
git diff --stat HEAD^1 HEAD^2

Result: the master-side changes are already present in the release tree or have been replaced by newer release-branch equivalents.

Future Sync Guidance

To avoid this issue in future master -> release branch syncs, preserve the merge parent instead of using squash, cherry-pick-only, or manually copied changes.

Recommended flow:

git fetch origin
git switch release_v4.8.2
git merge --no-ff origin/master

If conflicts occur, resolve them normally and commit the merge. This keeps Git aware that master has already been merged into the release branch.

If the master-side changes have already been absorbed or superseded by release-branch commits, and the only missing piece is Git history, use a history-only merge after verification:

git merge -s ours --no-ff origin/master -m "chore: record master merge into release_v4.8.2"
git diff --stat HEAD^1 HEAD

Do not rely on the empty diff alone as the safety check. For an ours merge, it is empty by construction. First confirm each source-branch change is already present or superseded.

On GitHub, use Create a merge commit for this type of branch-synchronization PR. Avoid Squash and merge, otherwise Git will not record the source branch as merged, and the same stale conflicts can reappear later.

Testing

Not run. This is a history-only merge commit with no file content changes.

halibobo1205 and others added 12 commits January 13, 2026 01:16
New workflows:
- pr-build.yml: multi-OS build matrix (macOS, Ubuntu, RockyLinux, Debian11)
  and changed-line/overall coverage gate
- pr-check.yml: PR title/body lint + Checkstyle
- pr-reviewer.yml: scope-based reviewer auto-assignment
- pr-cancel.yml: cancel in-progress runs when PR is closed unmerged
- system-test.yml: spin up FullNode and run the system-test suite

Existing workflows:
- codeql.yml: bump to v4/v5 actions, switch to manual build-mode with
  JDK 8, add paths-ignore for docs-only changes
- math-check.yml: bump checkout/upload-artifact/github-script versions
@github-actions github-actions Bot requested a review from 317787106 July 9, 2026 09:29
@halibobo1205 halibobo1205 added this to the GreatVoyage-v4.8.2 milestone Jul 9, 2026
@lvs0075 lvs0075 merged commit e90dd78 into tronprotocol:release_v4.8.2 Jul 9, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

5 participants