You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: statediff/doc.md
+49-1Lines changed: 49 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -213,4 +213,52 @@ the number of updated state nodes that are available in the in-memory cache vs m
213
213
214
214
If memory permits, one means of improving the efficiency of this process is to increase the in-memory trie cache allocation.
215
215
This can be done by increasing the overall `--cache` allocation and/or by increasing the % of the cache allocated to trie
216
-
usage with `--cache.trie`.
216
+
usage with `--cache.trie`.
217
+
218
+
## Versioning, Branches, Rebasing, and Releasing
219
+
Internal tagged releases are maintained for building the latest version of statediffing geth or using it as a go mod dependency.
220
+
When a new core go-ethereum version is released, statediffing geth is rebased onto and adjusted to work with the new tag.
221
+
222
+
We want to maintain a complete record of our git history, but in order to make frequent and timely rebases feasible we also
223
+
need to be able to squash our work before performing a rebase. To this end we retain multiple branches with partial incremental history that culminate in
224
+
the full incremental history.
225
+
226
+
### Versioning
227
+
Versioning for of statediffing geth follows the below format:
228
+
229
+
`{Root Version}-statediff-{Statediff Version}`
230
+
231
+
Where "root version" is the version of the tagged release from the core go-ethereum repository that our release is rebased on top of
232
+
and "statediff version" is the version tracking the state of the statediffing service code.
233
+
234
+
E.g. the version at the time of writing this is v1.10.3-statediff-0.0.23, v0.0.23 of the statediffing code rebased on top of the v1.10.3 core tag.
235
+
236
+
The statediff version is included in the `VersionMeta` in params/version.go
237
+
238
+
### Branches
239
+
We maintain two official kinds of branches:
240
+
241
+
Major Branch: `{Root Version}-statediff`
242
+
Major branches retain the cumulative state of all changes made before the latest root version rebase and track the full incremental history of changes made between the latest root version rebase and the next.
243
+
Aside from creating the branch by performing the rebase described in the section below, these branches are never worked off of or committed to directly.
0 commit comments