# HG changeset patch # User Pierre-Yves David # Date 1670035539 -3600 # Node ID 8a38cd76588fd5f493218059ec0cd08a2c740c0c # Parent 2a5feacc4085630bde395654c20cf4299f34fe17 clone: explicitly detect the need to fetch a peer Instead of having `peer()` method on all `peer()` for this usecase, we could simply handle it explicitly. diff -r 2a5feacc4085 -r 8a38cd76588f mercurial/hg.py --- a/mercurial/hg.py Fri Dec 02 19:15:04 2022 +0100 +++ b/mercurial/hg.py Sat Dec 03 03:45:39 2022 +0100 @@ -717,6 +717,11 @@ branches = (src_path.branch, branch or []) source = src_path.loc else: + if util.safehasattr(source, 'peer'): + srcpeer = source.peer() # in case we were called with a localrepo + else: + srcpeer = source + branches = (None, branch or []) # XXX path: simply use the peer `path` object when this become available srcpeer = source.peer() # in case we were called with a localrepo branches = (None, branch or [])