D5449: pull: fix inconsistent view of bookmarks during pull (issue4700)
Yuya Nishihara
yuya at tcha.org
Wed Dec 19 07:08:01 EST 2018
> revs = [] # actually, nodes
> + if other.capable('lookupns'):
> + def lookupns(e, r):
> + return e.callcommand('lookupns', {'key': r}).result()
> + else:
> + def lookupns(e, r):
> + return e.callcommand('lookup', {'key': r}).result(), ''
> for r in oldrevs:
> with other.commandexecutor() as e:
> - node = e.callcommand('lookup', {'key': r}).result()
> -
> + node, ns = lookupns(e, r)
> + if ns == 'bookmarks':
> + if r in remotebookmarks():
> + node = remotebookmarks()[r]
I'm not an expert, but I feel it's wrong to rely on client for data
consistency. Can't we somehow make the peer serve a "snapshot" of the
repository for the entire session? @indygreg Any updates in the v2 protocol
regarding this?
More information about the Mercurial-devel
mailing list