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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants