ethereum-optimism / op-geth

GNU Lesser General Public License v3.0
255 stars 653 forks source link

fix(forkdiff): update sub definitions to fix hydration #244

Open sambacha opened 4 months ago

sambacha commented 4 months ago

Description

This updates your fork.yaml file so that forkdiff binary can successfully build the report page.

Under the existing fork.yaml file, it fails to build and gives the following error:

$ forkdiff
failed to hydrate patch stats 
error: sub definition 2 failed to hydrate: sub definition 6 failed to hydrate: file "eth/handler.go" was matched by glob 0 ("eth/handler.go") but is not remaining11:36:53 Tue Feb 13 2024 janitor macbook

Tests

I ran forkdiff with the updated changes and was able to successfully build the report page.

Additional context

There is no validation of the file, fork.yaml. Additionally, there exists no timestamp or versioning information in the generated report page.

I added two hard coded values:

  1. the version of the corresponding git hash for go-ethereum, v1.13.8
  2. a 'Last Updated' value, using TZ=UTC
```yaml
# fork.yaml
footer: |
!  a fork of [`go-ethereum, v1.13.8`](https://github.com/ethereum/go-ethereum).
     description: |

+     Last updated: Tue Feb 13 19:58:26 UTC 2024
  sub:
```

Considerations

fork.yaml should be validated at build, additionally I found no configuration specification for detailing diffing policy or setup.

For reference, this is one configuration

git config --global merge.renameLimit 999999
git config --global diff.renameLimit 33440
git config --global diff.algorithm patience

This is beyond the scope of this PR, I just thought to mention it, as it makes maintainer job easier.

sambacha commented 4 months ago

Here is the generated forkdiff report page, I had to gzip it as I can not upload HTML files on comments.

index.html.gz