pub fn render(acl_text: &str, roster: &Roster) -> StringExpand description
Rewrites every grant line’s trailing comment from roster.
The grant half of each line — everything before the first # — is
copied through byte for byte. That is the property this command
stands on: it edits an authorization file, and the one thing it must
never do is change what the file authorizes.
A subject the roster cannot name loses its comment rather than keeping the one it had. That is not tidiness: the roster forgets a name when the account is revoked, so a comment left behind would be the deleted name surviving in a file, which is the whole thing the deletion was for.
Standalone comment lines and blank lines are passed through untouched. They are the operator’s own writing, and a command that regenerates comments is not a command that owns every comment.