Mercurial > public > mercurial-scm > hg-stable
diff tests/test-subrepo-recursion.t @ 40440:69d4c8c5c25e stable
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.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Fri, 16 Nov 2018 18:37:26 -0500 |
parents | b77aa48ba690 |
children | 1a6bb5a85e30 |
line wrap: on
line diff
--- a/tests/test-subrepo-recursion.t Wed Nov 14 11:52:13 2018 -0500 +++ b/tests/test-subrepo-recursion.t Fri Nov 16 18:37:26 2018 -0500 @@ -567,11 +567,13 @@ $ hg --config extensions.share= --config progress.disable=True \ > share ../empty2 ../empty_share updating working directory + sharing subrepo foo from $TESTTMP/empty2/foo abort: repository $TESTTMP/empty2/foo not found! [255] $ hg --config progress.disable=True clone ../empty2 ../empty_clone updating to branch default + cloning subrepo foo from $TESTTMP/empty2/foo abort: repository $TESTTMP/empty2/foo not found! [255]