Skip to content
  • Matt Harbison's avatar
    subrepo: print the status line before creating the peer for better diagnostics · 69d4c8c5c25e
    Matt Harbison authored
    I ran into a problem where I tried updating to a different branch, and the
    process appeared to hang.  It turned out that the subrepo revision wasn't
    available locally, and I must have originally cloned it from an `hg serve -S` on
    a machine that currently wasn't serving anything.  It took 2+ minutes to
    timeout, and didn't mention what it was connecting to even then.
    
    There are a couple of other issues in this scenario too.
    
      - The repo is dirty after the failed checkout because the top level repo is
        updated first.  We should probably make 2 passes- top down to pull
        everything needed, and then do an update once everything is in place.
    
      - Something must be reading .hgsubstate from wdir because if the same merge
        command is run after the timeout, a prompt is issued that the local and
        remote subrepo diverged, instead of hanging.  But it lists the local version
        and remote version as having the same hash.
    69d4c8c5c25e