Skip to content
  • Anton Shestakov's avatar
    topic: use fully qualified branch name during exchange · 453861da6922
    Anton Shestakov authored
    For the entire duration of exchange process, we now use branch//namespace/topic
    format for branchmap, head checking, etc.
    
    Sometimes we still need to disable this feature (e.g. when pushing to a repo
    that doesn't have topic extension enabled), but every other case should be
    handled using the new fqbn format. This applies both to internal API, such as
    having fqbn as branchmap keys and even making ctx.branch() return fqbn, and to
    UI, such as users seeing fqbn in hg branches output and messages from hg push.
    
    Things to note: now we're wrapping revbranchcache.branchinfo() during the
    extension setup, instead of doing it only in one place in _headssummary().
    We're also using override_context_branch context manager that makes
    ctx.branch() return fqbn also in cases when we call the original
    _headssummary().
    
    There are still places in the UI where branch names are not in fqbn format,
    because they don't take part in the exchange process.
    453861da6922