Files
evm/scripts/diff_against.sh
Arran SchlosbergandGitHub e7543505ac chore: script for creating per-file diffs against arbitrary geth commit (#1212)
* chore: script for creating per-file diffs against arbitrary geth commit

* chore: add new-line at end

* fix: linter recommendations
2024-06-18 11:24:09 +01:00

34 lines
910 B
Bash
Executable File

#!/bin/bash
#
# Usage: scripts/diff_against.sh {geth_commit}
#
# Per-file diffs will be written to `diffs/{geth_commit}`.
#
# Example: `scripts/diff_against.sh b20b4a71598481443d60b261d3e5dcb37f8a0d82` to compare with v1.13.8.
#
# *NOTE* Before running this script:
# 1. Run `scripts/format_as_upstream.sh` to reformat this repo as `ethereum/go-ethereum`.
# 2. Add geth as a remote: `git remote add -f geth [email protected]:ethereum/go-ethereum.git`.
# 3. Find the geth commit for the latest version merged into this repo.
#
set -e;
set -u;
ROOT=$(git rev-parse --show-toplevel);
cd "${ROOT}";
BASE="${1}";
# The diffs/ directory is in .gitignore to avoid recursive diffiffiffs.
mkdir -p "diffs/${BASE}";
git diff "${BASE}" --name-only | while read -r f
do
echo "${f}";
DIR=$(dirname "${f}");
mkdir -p "diffs/${BASE}/${DIR}";
git diff "${BASE}" -- "${f}" > "diffs/${BASE}/${f}.diff";
done