( )⚙ D475 infinitepush: improve revset for not-backed-up revisions

This is an archive of the discontinued Mercurial Phabricator instance.

infinitepush: improve revset for not-backed-up revisions
ClosedPublic

Authored by mbthomas on Aug 22 2017, 10:03 AM.
Tags
None
Subscribers

Details

Reviewers
stash
Group Reviewers
Restricted Project
Commits
rFBHGXad039441c817: infinitepush: improve revset for not-backed-up revisions
Summary

The first version of infinitepush smartlog summary included some false
positives (in particular, not-backed-up but obsolete revs), and took a long
time to compute the set if there were many heads in the repo.

Improve the revset that is used by taking into account the heads that *should*
be backed up. Ancestors of these heads, that are not ancestors of the actual
backup heads are the ones that should be considered "not backed up".

Test Plan

Re-run unit tests.
Manual test on devvm.
Perf test against stash's repo which has more heads than mine.

Diff Detail

Repository
rFBHGX Facebook Mercurial Extensions
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

mbthomas created this revision.Aug 22 2017, 10:03 AM
stash accepted this revision.Aug 22 2017, 11:56 AM
This revision is now accepted and ready to land.Aug 22 2017, 11:56 AM
quark added a subscriber: quark.Aug 22 2017, 8:56 PM
quark added inline comments.
infinitepush/backupcommands.py
327

Should we have and not obsolete() here?

This revision was automatically updated to reflect the committed changes.