diff -r 07dbafd3a0e2 -r 60b42f318a6d mercurial/localrepo.py --- a/mercurial/localrepo.py Mon Apr 05 20:10:46 2010 +0200 +++ b/mercurial/localrepo.py Tue Apr 06 00:45:53 2010 +0200 @@ -1454,14 +1454,14 @@ try: common, fetch, rheads = self.findcommonincoming(remote, heads=heads, force=force) - if fetch == [nullid]: - self.ui.status(_("requesting all changes\n")) - if not fetch: self.ui.status(_("no changes found\n")) return 0 - if heads is None and remote.capable('changegroupsubset'): + if fetch == [nullid]: + self.ui.status(_("requesting all changes\n")) + elif heads is None and remote.capable('changegroupsubset'): + # issue1320, avoid a race if remote changed after discovery heads = rheads if heads is None: