Mercurial > public > mercurial-scm > hg
diff mercurial/exchange.py @ 47492:f03e9d30258e
exchange: use "served" repo filter to guess what the server will publish
Previously, the second push in the added test would say "push would publish 2
changesets" because _checkpublish() was considering secret changesets to be
"pushable" when push command had a --rev argument.
Without --rev argument to push command, we already filter the repo properly.
Differential Revision: https://phab.mercurial-scm.org/D10948
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Sat, 03 Jul 2021 10:21:16 +0300 |
parents | 19d4802cb304 |
children | 7d1e60244561 |
line wrap: on
line diff
--- a/mercurial/exchange.py Thu Jul 01 18:51:18 2021 +0200 +++ b/mercurial/exchange.py Sat Jul 03 10:21:16 2021 +0300 @@ -184,6 +184,10 @@ published = repo.filtered(b'served').revs(b'not public()') else: published = repo.revs(b'::%ln - public()', pushop.revs) + # we want to use pushop.revs in the revset even if they themselves are + # secret, but we don't want to have anything that the server won't see + # in the result of this expression + published &= repo.filtered(b'served') if published: if behavior == b'warn': ui.warn(