diff -r e4eb4bfc3616 -r d7b114493315 mercurial/hg.py --- a/mercurial/hg.py Mon Oct 06 23:45:07 2014 -0700 +++ b/mercurial/hg.py Tue Oct 07 00:09:50 2014 -0700 @@ -24,7 +24,14 @@ peer = other.peer() # a courtesy to callers using a localrepo for other hashbranch, branches = branches if not hashbranch and not branches: - return revs or None, revs and revs[0] or None + x = revs or None + if util.safehasattr(revs, 'first'): + y = revs.first() + elif revs: + y = revs[0] + else: + y = None + return x, y revs = revs and list(revs) or [] if not peer.capable('branchmap'): if branches: