( )⚙ D2490 narrow: consider both local and remote matchers in narrowchangegroup

This is an archive of the discontinued Mercurial Phabricator instance.

narrow: consider both local and remote matchers in narrowchangegroup
ClosedPublic

Authored by martinvonz on Feb 28 2018, 3:56 PM.

Details

Summary

The existing code that picked one or the other seemed very
suspicious. This patch makes us intersect the local matcher with the
matcher from the remote, which seems better. It fixes one test case
and makes another one that used to crash no longer crash, but instead
silently succeed with a push that's lossy, so that remains to be
fixed.

The real reason for doing this now is that I'm going to move
narrowrepo.narrowmatch() onto localrepo and then it will always be
defined, which would otherwise break this code.

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

martinvonz created this revision.Feb 28 2018, 3:56 PM
indygreg accepted this revision.Feb 28 2018, 9:06 PM
This revision is now accepted and ready to land.Feb 28 2018, 9:06 PM
This revision was automatically updated to reflect the committed changes.