Skip to content

Commit 3e8a07d

Browse files
ausimianclaude
andcommitted
docs: record that EVsn is not the release version
AGENTS.md already quoted do_remove_release/4 deleting filename:join(Root, "erts-" ++ EVsn) correctly; the drift was in the placeholder prose around it, which reused <vsn> for both namespaces and so named a directory that generally does not exist. Note it at the authority, with where it had already got to - remove/1's @doc and the ERTS guard's refusal message, which ships. Co-Authored-By: Claude <noreply@anthropic.com>
1 parent e8bba5a commit 3e8a07d

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

AGENTS.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,15 @@ Castle's job is configuration and release management on a running node.
383383
bookkeeping and leaves the applications themselves being extracted into, read
384384
from and deleted out of the emulator's root.
385385

386+
`EVsn` there is the *ERTS* version out of the release record, not the release
387+
version, and `do_remove_release/4` deletes that directory only when no
388+
remaining release refers to the same emulator. The two are unrelated numbers
389+
and normally different ones - a release at `0.1.1` carrying `erts-16.2` - so
390+
prose must not reuse `<vsn>` for both. Writing `erts-<vsn>` beside
391+
`lib/<app>-<vsn>` reads as one version and names a directory that generally
392+
does not exist; it had got into `remove/1`'s `@doc` and into the ERTS guard's
393+
refusal message, which ships. Say `erts-<erts_vsn>`.
394+
386395
**The comparison has three answers, not two.** `compare_dirs/2` is
387396
`Path.expand/1` on both and then a `stat` on device and inode, and it returns
388397
`:same`, `:different` or `{:indeterminate, why}`. The third is the one to keep:

0 commit comments

Comments
 (0)