Mercurial > evolve
view tests/test-namespaces-exchange.t @ 6887:45cbf0af48e7 stable
tests: update old changeset hashes in test-tutorial.t
They actually should've been updated in 32ed5b6fadd3, but better late than
never.
Unfortunately, these messages are not tied directly to any command output, so
the issue with using nonexistent hashes was not immediately obvious after
running this test.
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Thu, 03 Oct 2024 09:34:56 +0400 |
parents | 5e6fa2dd796a |
children | cdf929e69cde |
line wrap: on
line source
Limiting topic namespaces during exchange based on a config option $ . "$TESTDIR/testlib/common.sh" $ cat >> $HGRCPATH << EOF > [extensions] > topic = > [phases] > publish = no > [ui] > ssh = "$PYTHON" "$RUNTESTDIR/dummyssh" > [devel] > tns-report-transactions = pull > [ui] > logtemplate = "{rev}: {desc} {fqbn} ({phase})\n" > EOF $ hg init orig #testcases local ssh http #if http $ hg serve -R orig -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log $ cat hg.pid >> $DAEMON_PIDS #endif we advertise the new capability, including during local exchange #if local $ hg debugcapabilities orig | grep topics ext-topics-publish=none ext-topics-tns-heads topics topics-namespaces #endif #if ssh $ hg debugcapabilities ssh://user@dummy/orig | grep topics _exttopics_heads ext-topics-publish=none ext-topics-tns-heads topics topics-namespaces #endif #if http $ hg debugcapabilities http://localhost:$HGPORT/ | grep topics _exttopics_heads ext-topics-publish=none ext-topics-tns-heads topics topics-namespaces #endif #if local $ hg clone orig clone -q #endif #if ssh $ hg clone ssh://user@dummy/orig clone -q #endif #if http $ hg clone http://localhost:$HGPORT/ clone -q #endif $ cd orig changesets without topic namespace are freely exchanged $ echo apple > a $ hg debug-topic-namespace --clear $ hg topic apple marked working directory as topic: apple $ hg ci -qAm apple $ hg log -r . -T '{rev}: {join(extras, " ")}\n' 0: branch=default topic=apple $ hg incoming -R ../clone comparing with * (glob) 0: apple default//apple (draft) $ hg pull -R ../clone pulling from * (glob) requesting all changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files new changesets bf4c1d971543 (1 drafts) (run 'hg update' to get a working copy) changesets with topic namespaces are only exchanged if configuration allows $ echo banana > b $ hg debug-topic-namespace bob marked working directory as topic namespace: bob $ hg topic banana $ hg ci -qAm 'banana' $ hg incoming -R ../clone --config experimental.tns-default-pull-namespaces=foo comparing with * (glob) searching for changes no changes found [1] $ hg pull -R ../clone --config experimental.tns-default-pull-namespaces=foo pulling from * (glob) searching for changes no changes found this config option takes a list of values $ hg incoming -R ../clone --config experimental.tns-default-pull-namespaces=foo,bob comparing with * (glob) searching for changes 1: banana default//bob/banana (draft) $ hg pull -R ../clone --config experimental.tns-default-pull-namespaces=foo,bob pulling from * (glob) searching for changes adding changesets adding manifests adding file changes topic namespaces affected: bob added 1 changesets with 1 changes to 1 files new changesets ed9751f04a18 (1 drafts) (run 'hg update' to get a working copy) we have a "permit all" config value $ echo coconut > c $ hg debug-topic-namespace charlie $ hg topic coconut $ hg ci -qAm 'coconut' $ hg incoming -R ../clone --config experimental.tns-default-pull-namespaces=* comparing with * (glob) searching for changes 2: coconut default//charlie/coconut (draft) $ hg pull -R ../clone --config experimental.tns-default-pull-namespaces=* pulling from * (glob) searching for changes adding changesets adding manifests adding file changes topic namespaces affected: charlie added 1 changesets with 1 changes to 1 files new changesets 16d2440597e2 (1 drafts) (run 'hg update' to get a working copy) testing the default value for this config option at the moment $ echo durian > d $ hg debug-topic-namespace dave $ hg topic durian $ hg ci -qAm 'durian' $ hg incoming -R ../clone comparing with * (glob) searching for changes 3: durian default//dave/durian (draft) $ hg pull -R ../clone pulling from * (glob) searching for changes adding changesets adding manifests adding file changes topic namespaces affected: dave added 1 changesets with 1 changes to 1 files new changesets d5d5dda52b2f (1 drafts) (run 'hg update' to get a working copy) testing related config options also specifying changesets and branches explicitly $ echo elderberry > e $ hg debug-topic-namespace eve $ hg topic elderberry $ hg ci -qAm 'elderberry' $ echo feijoa > f $ hg debug-topic-namespace frank $ hg topic feijoa $ hg ci -qAm 'feijoa' global hgrc $ cat >> $HGRCPATH << EOF > [experimental] > tns-default-pull-namespaces = alice, bob, eve > EOF $ hg incoming -R ../clone comparing with * (glob) searching for changes 4: elderberry default//eve/elderberry (draft) global hgrc with explicit target $ hg incoming -R ../clone --rev tip comparing with * (glob) searching for changes 4: elderberry default//eve/elderberry (draft) 5: feijoa default//frank/feijoa (draft) source repo hgrc (should not matter) $ cat >> ../orig/.hg/hgrc << EOF > [experimental] > tns-default-pull-namespaces = does, not, matter > EOF $ hg incoming -R ../clone comparing with * (glob) searching for changes 4: elderberry default//eve/elderberry (draft) local repo hgrc (overrides global hgrc) $ cat >> ../clone/.hg/hgrc << EOF > [experimental] > tns-default-pull-namespaces = frank > EOF $ hg incoming -R ../clone comparing with * (glob) searching for changes 4: elderberry default//eve/elderberry (draft) 5: feijoa default//frank/feijoa (draft) local repo hgrc with explicit target $ hg incoming -R ../clone --rev 4 comparing with * (glob) searching for changes 4: elderberry default//eve/elderberry (draft) #if http $ $RUNTESTDIR/killdaemons.py $DAEMON_PIDS $ cat $TESTTMP/errors.log #endif $ hg branches default//frank/feijoa 5:c58726fdcfd8 default//eve/elderberry 4:59694f5082fe (inactive) default//dave/durian 3:d5d5dda52b2f (inactive) default//charlie/coconut 2:16d2440597e2 (inactive) default//bob/banana 1:ed9751f04a18 (inactive) default//apple 0:bf4c1d971543 (inactive) $ cd ..