diff -r 49c7e875482d -r 6e74b912fa5c mercurial/subrepo.py --- a/mercurial/subrepo.py Mon Dec 06 21:17:27 2010 -0500 +++ b/mercurial/subrepo.py Mon Dec 06 21:17:27 2010 -0500 @@ -682,8 +682,11 @@ if line[2:].startswith('(no branch)'): continue branch, revision = line[2:].split()[:2] - if revision == '->': + if revision == '->' or branch.endswith('/HEAD'): continue # ignore remote/HEAD redirects + if '/' in branch and not branch.startswith('remotes/'): + # old git compatability + branch = 'remotes/' + branch if line[0] == '*': current = branch branch2rev[branch] = revision