subrepo: print the status line before creating the peer for better diagnostics
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.
Showing
- mercurial/subrepo.py 8 additions, 4 deletionsmercurial/subrepo.py
- tests/test-http-bundle1.t 2 additions, 0 deletionstests/test-http-bundle1.t
- tests/test-http.t 2 additions, 0 deletionstests/test-http.t
- tests/test-subrepo-deep-nested-change.t 1 addition, 0 deletionstests/test-subrepo-deep-nested-change.t
- tests/test-subrepo-recursion.t 2 additions, 0 deletionstests/test-subrepo-recursion.t
- tests/test-subrepo.t 5 additions, 0 deletionstests/test-subrepo.t
Loading
Please register or sign in to comment