Mercurial > hg
comparison tests/test-subrepo-recursion.t @ 40655: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 |
comparison
equal
deleted
inserted
replaced
40637:4790732559ad | 40655:69d4c8c5c25e |
---|---|
565 $ hg --config progress.disable=True clone -U ../empty ../empty2 | 565 $ hg --config progress.disable=True clone -U ../empty ../empty2 |
566 | 566 |
567 $ hg --config extensions.share= --config progress.disable=True \ | 567 $ hg --config extensions.share= --config progress.disable=True \ |
568 > share ../empty2 ../empty_share | 568 > share ../empty2 ../empty_share |
569 updating working directory | 569 updating working directory |
570 sharing subrepo foo from $TESTTMP/empty2/foo | |
570 abort: repository $TESTTMP/empty2/foo not found! | 571 abort: repository $TESTTMP/empty2/foo not found! |
571 [255] | 572 [255] |
572 | 573 |
573 $ hg --config progress.disable=True clone ../empty2 ../empty_clone | 574 $ hg --config progress.disable=True clone ../empty2 ../empty_clone |
574 updating to branch default | 575 updating to branch default |
576 cloning subrepo foo from $TESTTMP/empty2/foo | |
575 abort: repository $TESTTMP/empty2/foo not found! | 577 abort: repository $TESTTMP/empty2/foo not found! |
576 [255] | 578 [255] |
577 | 579 |
578 Disable progress extension and cleanup: | 580 Disable progress extension and cleanup: |
579 | 581 |