Rewrite the bash upgrade script as a standalone Go program for better
portability and maintainability. The tool preserves all existing behavior:
three-category file classification, dry-run mode, Go source resolution
(gvm/GOROOT/download), 3-way merge via diff3, and colored output.
Build: cd tools/upgrade && go build -o upgrade .
Run: ./tools/upgrade/upgrade --dry-run
Signed-off-by: deadprogram <ron@hybridgroup.com>
- upgrade.sh: automates backporting upstream Go net package changes
- Downloads Go source tarballs for CUR and UPSTREAM versions
- Copies unmodified files directly from upstream
- Performs 3-way merge (diff3) for TinyGo-modified files
- Detects per-file CUR version from TINYGO headers
- Generates detailed diff reports in .upgrade-report/
- Supports --dry-run mode for previewing changes
- .gitignore: add .upgrade-work/ and .upgrade-report/ directories