The core internals either use revision sets already or can trivially use
them. Use the new interface in cg1unpacker.apply to avoid materializing
the list of all new nodes as it is normally just a revision range. This
avoids about 67 Bytes / changeset on AMD64 in peak RSS.
Details
Details
- Reviewers
- None
- Group Reviewers
hg-reviewers - Commits
- rHG09735cde6275: phases: allow registration and boundary advancement with revision sets
Diff Detail
Diff Detail
- Repository
- rHG Mercurial
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
Event Timeline
mercurial/phases.py | ||
---|---|---|
513–515 | Doesn't this sort of thing get flagged by pyflakes or whatever for being a mutable argument? I thought I remembered a series that took out stuff like this, defaulting to None and creating an empty list locally if needed. It looks like there are a few other cases below. |
mercurial/phases.py | ||
---|---|---|
513–515 | It doesn't flag it here. I'm not sure if it detects that revs is not mutated. |
Doesn't this sort of thing get flagged by pyflakes or whatever for being a mutable argument? I thought I remembered a series that took out stuff like this, defaulting to None and creating an empty list locally if needed. It looks like there are a few other cases below.