D1857: pull: re-run discovery and pullbundle2 if server didn't send all heads
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Sun Jan 14 22:04:05 UTC 2018
indygreg requested changes to this revision.
indygreg added a comment.
This revision now requires changes to proceed.
I'm generally in favor of this functionality. It enables some interesting server features (such as pullbundles).
This review needs to get hooked up to the Phabricator "stack" as the pullbundles patch(es). Using `hg phabsend A::B` should do that.
I'd like to see a test around a server not sending changegroup data. I /think/ the existing code will abort the `while True` loop in this case. But I don't fully understand when various attributes on `pullop` are updated. I'd also feel more comfortable about things if there were an explicit check in the loop that the tip of changelog increased if revisions were requested. I'm worried about getting into an infinite loop due to a misbehaving server. I /think/ I'd like to see the establishment of a //contract// that if revision data is requested, the server **MUST** respond with revision data.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D1857
To: joerg.sonnenberger, #hg-reviewers, indygreg
Cc: indygreg, mercurial-devel
More information about the Mercurial-devel
mailing list