Mercurial > evolve
diff tests/test-namespaces.t @ 6396:e5bd76f95145 mercurial-5.5
test-compat: merge mercurial-5.6 into mercurial-5.5
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Mon, 06 Feb 2023 21:38:31 +0400 |
parents | 1328195f76a9 |
children | a62308fb15c1 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-namespaces.t Mon Feb 06 21:38:31 2023 +0400 @@ -0,0 +1,138 @@ +https://www.mercurial-scm.org/wiki/TopicPlan#sub_branches.2C_namespacing_and_representation + + $ . "$TESTDIR/testlib/topic_setup.sh" + + $ hg init repo + $ cd repo + + $ hg debug-topic-namespace space-name + marked working directory as topic namespace: space-name + $ hg debug-topic-namespaces + space-name + + $ hg log -r 'wdir()' -T '{topic_namespace}\n' + space-name + + $ hg log -r 'wdir()' -T '{fqbn}\n' + default//space-name/ + + $ hg branches + + $ hg debug-topic-namespace --clear + $ hg debug-topic-namespaces + default + + $ hg debug-topic-namespace --clear nonsense + abort: cannot use --clear when setting a topic namespace + [255] + + $ hg branch stable + marked working directory as branch stable + (branches are permanent and global, did you want a bookmark?) + $ hg debug-topic-namespace alice + marked working directory as topic namespace: alice + $ hg topic feature + marked working directory as topic: feature + $ echo a > a + $ hg ci -qAm a + + $ hg debug-topic-namespaces + alice + + $ hg log -r . -T '{rev}: {branch} {topic_namespace} {topic}\n' + 0: stable alice feature + + $ hg log -r . -T '{rev}: {fqbn}\n' + 0: stable//alice/feature + + $ hg branches + stable//alice/feature 0:69c7dbf6acd1 + +Updating to a revision with a namespace should activate it + + $ hg up null + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg debug-topic-namespace + default + $ hg topics + feature (1 changesets) + $ hg up 0 + switching to topic-namespace alice + switching to topic feature + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg debug-topic-namespace + alice + $ hg topics + * feature (1 changesets) + +Updating to a topic namespace is not supported + + $ hg up alice + abort: unknown revision 'alice'! + [255] + +Revsets + + $ nslog() { + > hg log -T '{rev}: {topic_namespace}\n' -r "$1" + > } + + $ nslog 'topicnamespace(:)' + 0: alice + $ nslog 'topicnamespace(all())' + 0: alice + $ nslog 'topicnamespace(topicnamespace("alice"))' + 0: alice + $ nslog 'topicnamespace(wdir())' + 0: alice + $ nslog 'topicnamespace("re:ice$")' + 0: alice + $ nslog 'topicnamespace(nonsense)' + abort: unknown revision 'nonsense'! + [255] + + $ nslog 'topicnamespace("re:nonsense")' + $ nslog 'topicnamespace("literal:nonsense")' + abort: topic namespace 'nonsense' does not exist! + [255] + +Parsing + + $ hg debug-parse-fqbn foo/bar//user26/feature -T '[{branch}] <{topic_namespace}> ({topic})\n' + [foo/bar] <user26> (feature) + +no double slashes means it's a named branch + $ hg debug-parse-fqbn foo/bar + branch: foo/bar + namespace: default + topic: + +Formatting + + $ hg debug-format-fqbn -b branch -n namespace -t topic + branch//namespace/topic + + $ hg debug-format-fqbn -n namespace + //namespace/ + + $ hg debug-format-fqbn -b foo/bar -n user26 -t feature + foo/bar//user26/feature + +default values + + $ hg debug-format-fqbn -b default -n default -t '' --no-short + default//default/ + $ hg debug-format-fqbn -b default -n default -t '' --short + default + + $ hg debug-format-fqbn -b default -n namespace -t '' --no-short + default//namespace/ + $ hg debug-format-fqbn -b default -n namespace -t '' --short + default//namespace/ + + $ hg debug-format-fqbn -b default -n default -t topic --no-short + default//default/topic + $ hg debug-format-fqbn -b default -n default -t topic --short + default//topic + + $ cd ..