Mercurial > evolve
view tests/test-namespaces-report.t @ 6497:4e0f760d332e
topic: also find and report topic namespace changes caused by bookmarks
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Mon, 05 Jun 2023 21:57:37 -0300 |
parents | fba501baf5cb |
children | 7ecb0f9cc7f3 |
line wrap: on
line source
Reporting affected topic namespaces in transactions $ . "$TESTDIR/testlib/common.sh" $ cat >> $HGRCPATH << EOF > [extensions] > evolve = > topic = > [phases] > publish = no > [devel] > tns-report-transactions = push > EOF $ hg init orig case 1: new changeset (draft with topic namespace) topic namespace of that changeset is reported $ hg clone orig case-1 -q $ cd orig $ echo apple > a $ hg ci -qAm apple $ hg push ../case-1 pushing to ../case-1 searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files $ echo banana > b $ hg debug-topic-namespace bob marked working directory as topic namespace: bob $ hg ci -qAm 'banana' XXX: should not require --new-branch $ hg push ../case-1 --new-branch pushing to ../case-1 searching for changes adding changesets adding manifests adding file changes topic namespaces affected: bob added 1 changesets with 1 changes to 1 files $ cd .. case 2: obsmarker affecting known changeset topic namespaces of both the precursor and the successor are affected $ hg clone orig case-2 -q $ cd orig $ echo broccoli > b $ hg debug-topic-namespace bruce $ hg ci --amend -m 'broccoli' XXX: should not require --new-branch $ hg push ../case-2 --new-branch pushing to ../case-2 searching for changes adding changesets adding manifests adding file changes topic namespaces affected: bob bruce added 1 changesets with 1 changes to 1 files (+1 heads) 1 new obsolescence markers obsoleted 1 changesets $ cd .. 3 phase divergence resolution can point to a thing but not affect it (probably not affected) $ hg clone orig case-3 -q $ cd orig $ hg debug-topic-namespace charlie $ echo coconut > c $ hg ci -qAm 'coconut' $ hg debug-topic-namespace carol $ echo cloudberry > c $ hg ci --amend -m 'cloudberry' $ hg phase --hidden -r 'desc("coconut")' --public 1 new phase-divergent changesets $ hg evolve --phase-divergent recreate:[4] cloudberry atop:[3] coconut committed as c398b3caf447 working directory is now at c398b3caf447 XXX: should not require --new-branch $ hg push ../case-3 --new-branch pushing to ../case-3 searching for changes adding changesets adding manifests adding file changes topic namespaces affected: bruce carol added 2 changesets with 2 changes to 1 files 2 new obsolescence markers $ cd .. 4 phase movement: publishing drafts topic namespaces of published changesets are affected $ hg clone orig case-4 -q $ cd orig $ hg push ../case-4 --publish pushing to ../case-4 searching for changes no changes found topic namespaces affected: carol [1] $ cd .. 5 bookmark movement that affect tns (like putting a bookmark on obsolete changesets) their topic namespaces reappear and are therefore reported $ hg clone orig case-5 -q $ cd orig $ hg debug-topic-namespace dana $ echo durian > d $ hg ci -qAm 'durian' XXX: should not require --new-branch $ hg push ../case-5 --new-branch pushing to ../case-5 searching for changes adding changesets adding manifests adding file changes topic namespaces affected: dana added 1 changesets with 1 changes to 1 files $ hg debug-topic-namespace dave $ echo dragonfruit > d $ hg ci --amend -m 'dragonfruit' XXX: should not require --new-branch $ hg push ../case-5 --new-branch pushing to ../case-5 searching for changes adding changesets adding manifests adding file changes topic namespaces affected: dana dave added 1 changesets with 1 changes to 1 files (+1 heads) 1 new obsolescence markers obsoleted 1 changesets $ hg bookmark --hidden -r 'desc("durian")' @ bookmarking hidden changeset ac97707e6b4a (hidden revision 'ac97707e6b4a' was rewritten as: 822ac0064503) $ hg push ../case-5 -B @ pushing to ../case-5 searching for changes no changes found topic namespaces affected: dana exporting bookmark @ [1] $ cd .. 6 phase movement: publishing secret changesets (that are known on the server) topic namespaces of published changesets are affected $ hg clone orig case-6 -q $ cd orig $ hg push ../case-6 -r . --publish pushing to ../case-6 searching for changes no changes found topic namespaces affected: dave [1] previous topic namespace is resurrected... $ hg phase --secret --force -r . --config 'devel.tns-report-transactions=phase' topic namespaces affected: dave ...just to disappear again $ hg push ../case-6 -r . --config 'devel.tns-report-transactions=*' pushing to ../case-6 searching for changes no changes found topic namespaces affected: dave [1] $ cd .. 99 pushing obsmarker for an unknown changeset doesn't affect any topic namespace, we report nothing $ hg clone orig case-99 -q $ cd orig $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa `getid "desc('dragonfruit')"` 1 new obsolescence markers $ hg push ../case-99 pushing to ../case-99 searching for changes no changes found 1 new obsolescence markers [1] $ cd ..