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 [])