Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The Memory Management Reference is difficult for the community to edit #169

Open
rptb1 opened this issue Feb 22, 2023 · 3 comments
Open
Labels
optional Will cause failures / of benefit. Worth assigning resources.

Comments

@rptb1
Copy link
Member

rptb1 commented Feb 22, 2023

The Memory Management Reference is a resource with a very long history, but has not had many updates. In the early 2000s it became part of the MPS source tree and included in the manual. The site www.memorymanagement.org is generated from there by automation at Ravenbrook (see also #165 ).

At one point we had an idea to make it into a wiki using something like MediaWiki to make improvements and updates easy. That could still work. There would be a lot of effort involved though.

A simpler step might be to use a Git-based wiki.

@rptb1
Copy link
Member Author

rptb1 commented Feb 22, 2023

Any edits of the Memory Management Reference in its current location have to go through the MPS review and merge process, which is costly because of defect prevention in the MPS. There's no need for isolated MMRef changes to go through that process.

@rptb1 rptb1 added the optional Will cause failures / of benefit. Worth assigning resources. label Feb 27, 2023
@rptb1
Copy link
Member Author

rptb1 commented Feb 28, 2023

A possible direction (and smaller step) for the MMRef is to make it into a separate Sphinx project with its own Git repo, processes, and publication, and then use Intersphinx [1] [2] to reference it from the MPS manual. This might have the added benefit to the community of allowing references from other projects.

@rptb1
Copy link
Member Author

rptb1 commented Mar 3, 2023

These are just some notes for the steps that could migrate the MMRef into a separate Sphinx project. This is not yet the plan.

  1. Complete Build the Memory Management Reference from the MPS tree #187
  2. Resolve memorymanagement.org is built on Ravenbrook servers #165 by building the MMRef as mentioned in memorymanagement.org is built on Ravenbrook servers #165 (comment)
  3. Update the MPS manual to use the MMRef as an Intersphinx rather than including it.
  4. Split the MMRef into separate repo with e.g. git filter-repo --subdirectory-filter manual
  5. Upload that repo
  6. Switch over to the new repo for building the MMRef
  7. Edit both the MPS and MMRef repos to remove duplication.

A possibly disadvantage of step 3 is that the MMRef glossary will no longer be a part of the MPS manual. This doesn't matter too much for reading the manual on the web, but it could make it less useful as e.g. an epub. There might be some variant on this where the MMRef is included as a Git submodule and included in the Sphinx build of the MPS manual anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
optional Will cause failures / of benefit. Worth assigning resources.
Projects
None yet
Development

No branches or pull requests

1 participant