annotate tests/test-namespaces.t @ 6655:81fe0a498447 stable

topic: internal config option to fix hg pick behavior (issue6406) After some consideration, hg pick was made to always use current topic (and topic namespace), even if it's not set, in which case the resulting changeset will not have any topic. Previously the intended behavior was to only update topic if there was an active topic, and not touch commit extras at all otherwise. That wasn't ideal, since pick doesn't change active topic, and amending the just-picked commit would unset its topic without clear user's intent to do so and to their surprise.
author Anton Shestakov <av6@dwimlabs.net>
date Sat, 27 Jan 2024 17:36:39 -0300
parents 94bf2f307b75
children 9e442e116621 d3668c704d40
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6236
7ad8107d953a topic: introduce topic namespaces concept starting with simple parsing
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
1 https://www.mercurial-scm.org/wiki/TopicPlan#sub_branches.2C_namespacing_and_representation
7ad8107d953a topic: introduce topic namespaces concept starting with simple parsing
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
2
7ad8107d953a topic: introduce topic namespaces concept starting with simple parsing
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
3 $ . "$TESTDIR/testlib/topic_setup.sh"
7ad8107d953a topic: introduce topic namespaces concept starting with simple parsing
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
4
6238
6bbd16579f0f topic: list namespaces with debug-namespaces
Anton Shestakov <av6@dwimlabs.net>
parents: 6237
diff changeset
5 $ hg init repo
6bbd16579f0f topic: list namespaces with debug-namespaces
Anton Shestakov <av6@dwimlabs.net>
parents: 6237
diff changeset
6 $ cd repo
6bbd16579f0f topic: list namespaces with debug-namespaces
Anton Shestakov <av6@dwimlabs.net>
parents: 6237
diff changeset
7
6552
81e89d943a4e topic: pretend changeset has no topic namespace if it doesn't have a topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6551
diff changeset
8 Setting a topic namespace alone doesn't affect wdir()
81e89d943a4e topic: pretend changeset has no topic namespace if it doesn't have a topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6551
diff changeset
9
6239
8861e33f3bb2 topic: setting current repo namespace with debug-namespace
Anton Shestakov <av6@dwimlabs.net>
parents: 6238
diff changeset
10 $ hg debug-topic-namespace space-name
8861e33f3bb2 topic: setting current repo namespace with debug-namespace
Anton Shestakov <av6@dwimlabs.net>
parents: 6238
diff changeset
11 marked working directory as topic namespace: space-name
8861e33f3bb2 topic: setting current repo namespace with debug-namespace
Anton Shestakov <av6@dwimlabs.net>
parents: 6238
diff changeset
12 $ hg debug-topic-namespaces
8861e33f3bb2 topic: setting current repo namespace with debug-namespace
Anton Shestakov <av6@dwimlabs.net>
parents: 6238
diff changeset
13 space-name
8861e33f3bb2 topic: setting current repo namespace with debug-namespace
Anton Shestakov <av6@dwimlabs.net>
parents: 6238
diff changeset
14
6241
85abf58c3d8c topic: namespace template keyword
Anton Shestakov <av6@dwimlabs.net>
parents: 6240
diff changeset
15 $ hg log -r 'wdir()' -T '{topic_namespace}\n'
6552
81e89d943a4e topic: pretend changeset has no topic namespace if it doesn't have a topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6551
diff changeset
16 none
81e89d943a4e topic: pretend changeset has no topic namespace if it doesn't have a topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6551
diff changeset
17
81e89d943a4e topic: pretend changeset has no topic namespace if it doesn't have a topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6551
diff changeset
18 $ hg log -r 'wdir()' -T '{fqbn}\n'
81e89d943a4e topic: pretend changeset has no topic namespace if it doesn't have a topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6551
diff changeset
19 default
81e89d943a4e topic: pretend changeset has no topic namespace if it doesn't have a topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6551
diff changeset
20
81e89d943a4e topic: pretend changeset has no topic namespace if it doesn't have a topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6551
diff changeset
21 But after setting a topic the already-set namespace is visible on wdir()
81e89d943a4e topic: pretend changeset has no topic namespace if it doesn't have a topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6551
diff changeset
22
81e89d943a4e topic: pretend changeset has no topic namespace if it doesn't have a topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6551
diff changeset
23 $ hg topic feature
81e89d943a4e topic: pretend changeset has no topic namespace if it doesn't have a topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6551
diff changeset
24 marked working directory as topic: feature
81e89d943a4e topic: pretend changeset has no topic namespace if it doesn't have a topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6551
diff changeset
25 $ hg topics
81e89d943a4e topic: pretend changeset has no topic namespace if it doesn't have a topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6551
diff changeset
26 * feature (0 changesets)
81e89d943a4e topic: pretend changeset has no topic namespace if it doesn't have a topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6551
diff changeset
27
81e89d943a4e topic: pretend changeset has no topic namespace if it doesn't have a topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6551
diff changeset
28 $ hg log -r 'wdir()' -T '{topic_namespace}\n'
6241
85abf58c3d8c topic: namespace template keyword
Anton Shestakov <av6@dwimlabs.net>
parents: 6240
diff changeset
29 space-name
85abf58c3d8c topic: namespace template keyword
Anton Shestakov <av6@dwimlabs.net>
parents: 6240
diff changeset
30
6243
91d9a279b84a topic: fqbn template keyword
Anton Shestakov <av6@dwimlabs.net>
parents: 6241
diff changeset
31 $ hg log -r 'wdir()' -T '{fqbn}\n'
6552
81e89d943a4e topic: pretend changeset has no topic namespace if it doesn't have a topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6551
diff changeset
32 default//space-name/feature
6243
91d9a279b84a topic: fqbn template keyword
Anton Shestakov <av6@dwimlabs.net>
parents: 6241
diff changeset
33
6610
ae7c75c43f92 topic: properly decode topic and topic namespace after reading from disk
Anton Shestakov <av6@dwimlabs.net>
parents: 6552
diff changeset
34 Non-ascii topic namespace name
ae7c75c43f92 topic: properly decode topic and topic namespace after reading from disk
Anton Shestakov <av6@dwimlabs.net>
parents: 6552
diff changeset
35
ae7c75c43f92 topic: properly decode topic and topic namespace after reading from disk
Anton Shestakov <av6@dwimlabs.net>
parents: 6552
diff changeset
36 $ hg debug-topic-namespace --clear
ae7c75c43f92 topic: properly decode topic and topic namespace after reading from disk
Anton Shestakov <av6@dwimlabs.net>
parents: 6552
diff changeset
37 $ hg --encoding utf-8 debug-topic-namespace æ
ae7c75c43f92 topic: properly decode topic and topic namespace after reading from disk
Anton Shestakov <av6@dwimlabs.net>
parents: 6552
diff changeset
38 marked working directory as topic namespace: \xc3\xa6 (esc)
ae7c75c43f92 topic: properly decode topic and topic namespace after reading from disk
Anton Shestakov <av6@dwimlabs.net>
parents: 6552
diff changeset
39 $ hg --encoding utf-8 debug-topic-namespaces
ae7c75c43f92 topic: properly decode topic and topic namespace after reading from disk
Anton Shestakov <av6@dwimlabs.net>
parents: 6552
diff changeset
40 æ (esc)
ae7c75c43f92 topic: properly decode topic and topic namespace after reading from disk
Anton Shestakov <av6@dwimlabs.net>
parents: 6552
diff changeset
41 $ hg --encoding ascii debug-topic-namespaces
ae7c75c43f92 topic: properly decode topic and topic namespace after reading from disk
Anton Shestakov <av6@dwimlabs.net>
parents: 6552
diff changeset
42 ? (esc)
ae7c75c43f92 topic: properly decode topic and topic namespace after reading from disk
Anton Shestakov <av6@dwimlabs.net>
parents: 6552
diff changeset
43 $ hg --encoding latin1 debug-topic-namespaces
ae7c75c43f92 topic: properly decode topic and topic namespace after reading from disk
Anton Shestakov <av6@dwimlabs.net>
parents: 6552
diff changeset
44 \xe6 (esc)
ae7c75c43f92 topic: properly decode topic and topic namespace after reading from disk
Anton Shestakov <av6@dwimlabs.net>
parents: 6552
diff changeset
45
6612
94bf2f307b75 topic: check that topic namespace names are human-readable like topics
Anton Shestakov <av6@dwimlabs.net>
parents: 6610
diff changeset
46 $ hg --encoding utf-8 debug-topic-namespace ©
94bf2f307b75 topic: check that topic namespace names are human-readable like topics
Anton Shestakov <av6@dwimlabs.net>
parents: 6610
diff changeset
47 abort: invalid topic namespace name: '\xc2\xa9' (esc)
94bf2f307b75 topic: check that topic namespace names are human-readable like topics
Anton Shestakov <av6@dwimlabs.net>
parents: 6610
diff changeset
48 (topic namespace names can only consist of alphanumeric, '-', '_' and '.' characters)
94bf2f307b75 topic: check that topic namespace names are human-readable like topics
Anton Shestakov <av6@dwimlabs.net>
parents: 6610
diff changeset
49 [10]
94bf2f307b75 topic: check that topic namespace names are human-readable like topics
Anton Shestakov <av6@dwimlabs.net>
parents: 6610
diff changeset
50
94bf2f307b75 topic: check that topic namespace names are human-readable like topics
Anton Shestakov <av6@dwimlabs.net>
parents: 6610
diff changeset
51 $ hg --encoding latin1 debug-topic-namespace æ
94bf2f307b75 topic: check that topic namespace names are human-readable like topics
Anton Shestakov <av6@dwimlabs.net>
parents: 6610
diff changeset
52 abort: invalid topic namespace name: '\xc3\xa6' (esc)
94bf2f307b75 topic: check that topic namespace names are human-readable like topics
Anton Shestakov <av6@dwimlabs.net>
parents: 6610
diff changeset
53 (topic namespace names can only consist of alphanumeric, '-', '_' and '.' characters)
94bf2f307b75 topic: check that topic namespace names are human-readable like topics
Anton Shestakov <av6@dwimlabs.net>
parents: 6610
diff changeset
54 [10]
94bf2f307b75 topic: check that topic namespace names are human-readable like topics
Anton Shestakov <av6@dwimlabs.net>
parents: 6610
diff changeset
55
6239
8861e33f3bb2 topic: setting current repo namespace with debug-namespace
Anton Shestakov <av6@dwimlabs.net>
parents: 6238
diff changeset
56 $ hg branches
8861e33f3bb2 topic: setting current repo namespace with debug-namespace
Anton Shestakov <av6@dwimlabs.net>
parents: 6238
diff changeset
57
8861e33f3bb2 topic: setting current repo namespace with debug-namespace
Anton Shestakov <av6@dwimlabs.net>
parents: 6238
diff changeset
58 $ hg debug-topic-namespace --clear
6238
6bbd16579f0f topic: list namespaces with debug-namespaces
Anton Shestakov <av6@dwimlabs.net>
parents: 6237
diff changeset
59 $ hg debug-topic-namespaces
6542
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
60
6552
81e89d943a4e topic: pretend changeset has no topic namespace if it doesn't have a topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6551
diff changeset
61 $ hg topic --clear
81e89d943a4e topic: pretend changeset has no topic namespace if it doesn't have a topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6551
diff changeset
62 clearing empty topic "feature"
6542
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
63 $ hg topics
6238
6bbd16579f0f topic: list namespaces with debug-namespaces
Anton Shestakov <av6@dwimlabs.net>
parents: 6237
diff changeset
64
6239
8861e33f3bb2 topic: setting current repo namespace with debug-namespace
Anton Shestakov <av6@dwimlabs.net>
parents: 6238
diff changeset
65 $ hg debugtopicnamespace --clear nonsense
8861e33f3bb2 topic: setting current repo namespace with debug-namespace
Anton Shestakov <av6@dwimlabs.net>
parents: 6238
diff changeset
66 abort: cannot use --clear when setting a topic namespace
8861e33f3bb2 topic: setting current repo namespace with debug-namespace
Anton Shestakov <av6@dwimlabs.net>
parents: 6238
diff changeset
67 [255]
8861e33f3bb2 topic: setting current repo namespace with debug-namespace
Anton Shestakov <av6@dwimlabs.net>
parents: 6238
diff changeset
68
6240
2686ecc90791 topic: store topic namespace in commit extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6239
diff changeset
69 $ hg branch stable
2686ecc90791 topic: store topic namespace in commit extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6239
diff changeset
70 marked working directory as branch stable
2686ecc90791 topic: store topic namespace in commit extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6239
diff changeset
71 (branches are permanent and global, did you want a bookmark?)
2686ecc90791 topic: store topic namespace in commit extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6239
diff changeset
72 $ hg debug-topic-namespace alice
2686ecc90791 topic: store topic namespace in commit extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6239
diff changeset
73 marked working directory as topic namespace: alice
2686ecc90791 topic: store topic namespace in commit extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6239
diff changeset
74 $ hg topic feature
2686ecc90791 topic: store topic namespace in commit extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6239
diff changeset
75 marked working directory as topic: feature
2686ecc90791 topic: store topic namespace in commit extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6239
diff changeset
76 $ echo a > a
2686ecc90791 topic: store topic namespace in commit extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6239
diff changeset
77 $ hg ci -qAm a
2686ecc90791 topic: store topic namespace in commit extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6239
diff changeset
78
2686ecc90791 topic: store topic namespace in commit extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6239
diff changeset
79 $ hg debug-topic-namespaces
2686ecc90791 topic: store topic namespace in commit extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6239
diff changeset
80 alice
2686ecc90791 topic: store topic namespace in commit extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6239
diff changeset
81
6241
85abf58c3d8c topic: namespace template keyword
Anton Shestakov <av6@dwimlabs.net>
parents: 6240
diff changeset
82 $ hg log -r . -T '{rev}: {branch} {topic_namespace} {topic}\n'
85abf58c3d8c topic: namespace template keyword
Anton Shestakov <av6@dwimlabs.net>
parents: 6240
diff changeset
83 0: stable alice feature
85abf58c3d8c topic: namespace template keyword
Anton Shestakov <av6@dwimlabs.net>
parents: 6240
diff changeset
84
6243
91d9a279b84a topic: fqbn template keyword
Anton Shestakov <av6@dwimlabs.net>
parents: 6241
diff changeset
85 $ hg log -r . -T '{rev}: {fqbn}\n'
91d9a279b84a topic: fqbn template keyword
Anton Shestakov <av6@dwimlabs.net>
parents: 6241
diff changeset
86 0: stable//alice/feature
91d9a279b84a topic: fqbn template keyword
Anton Shestakov <av6@dwimlabs.net>
parents: 6241
diff changeset
87
6271
caf302fb8f4d topic: use branch//namespace/topic format everywhere except exchange
Anton Shestakov <av6@dwimlabs.net>
parents: 6267
diff changeset
88 $ hg branches
caf302fb8f4d topic: use branch//namespace/topic format everywhere except exchange
Anton Shestakov <av6@dwimlabs.net>
parents: 6267
diff changeset
89 stable//alice/feature 0:69c7dbf6acd1
caf302fb8f4d topic: use branch//namespace/topic format everywhere except exchange
Anton Shestakov <av6@dwimlabs.net>
parents: 6267
diff changeset
90
6245
a54db3e55c88 topic: switch to namespace when updating to a commit, similar to topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6243
diff changeset
91 Updating to a revision with a namespace should activate it
a54db3e55c88 topic: switch to namespace when updating to a commit, similar to topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6243
diff changeset
92
a54db3e55c88 topic: switch to namespace when updating to a commit, similar to topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6243
diff changeset
93 $ hg up null
a54db3e55c88 topic: switch to namespace when updating to a commit, similar to topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6243
diff changeset
94 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
a54db3e55c88 topic: switch to namespace when updating to a commit, similar to topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6243
diff changeset
95 $ hg debug-topic-namespace
6542
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
96 none
6245
a54db3e55c88 topic: switch to namespace when updating to a commit, similar to topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6243
diff changeset
97 $ hg topics
a54db3e55c88 topic: switch to namespace when updating to a commit, similar to topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6243
diff changeset
98 feature (1 changesets)
a54db3e55c88 topic: switch to namespace when updating to a commit, similar to topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6243
diff changeset
99 $ hg up 0
a54db3e55c88 topic: switch to namespace when updating to a commit, similar to topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6243
diff changeset
100 switching to topic-namespace alice
a54db3e55c88 topic: switch to namespace when updating to a commit, similar to topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6243
diff changeset
101 switching to topic feature
a54db3e55c88 topic: switch to namespace when updating to a commit, similar to topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6243
diff changeset
102 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
a54db3e55c88 topic: switch to namespace when updating to a commit, similar to topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6243
diff changeset
103 $ hg debug-topic-namespace
a54db3e55c88 topic: switch to namespace when updating to a commit, similar to topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6243
diff changeset
104 alice
a54db3e55c88 topic: switch to namespace when updating to a commit, similar to topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6243
diff changeset
105 $ hg topics
a54db3e55c88 topic: switch to namespace when updating to a commit, similar to topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6243
diff changeset
106 * feature (1 changesets)
a54db3e55c88 topic: switch to namespace when updating to a commit, similar to topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6243
diff changeset
107
6310
43166bd57d6c tests: addressing topic namespaces by name alone is not supported
Anton Shestakov <av6@dwimlabs.net>
parents: 6271
diff changeset
108 Updating to a topic namespace is not supported
43166bd57d6c tests: addressing topic namespaces by name alone is not supported
Anton Shestakov <av6@dwimlabs.net>
parents: 6271
diff changeset
109
43166bd57d6c tests: addressing topic namespaces by name alone is not supported
Anton Shestakov <av6@dwimlabs.net>
parents: 6271
diff changeset
110 $ hg up alice
43166bd57d6c tests: addressing topic namespaces by name alone is not supported
Anton Shestakov <av6@dwimlabs.net>
parents: 6271
diff changeset
111 abort: unknown revision 'alice'
43166bd57d6c tests: addressing topic namespaces by name alone is not supported
Anton Shestakov <av6@dwimlabs.net>
parents: 6271
diff changeset
112 [10]
43166bd57d6c tests: addressing topic namespaces by name alone is not supported
Anton Shestakov <av6@dwimlabs.net>
parents: 6271
diff changeset
113
6536
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
114 Export/import of topic namespaces
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
115
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
116 $ hg export
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
117 # HG changeset patch
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
118 # User test
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
119 # Date 0 0
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
120 # Thu Jan 01 00:00:00 1970 +0000
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
121 # Branch stable
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
122 # Node ID 69c7dbf6acd180eeec055dd67933badd3601d45f
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
123 # Parent 0000000000000000000000000000000000000000
6542
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
124 # EXP-Topic-Namespace alice
6536
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
125 # EXP-Topic feature
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
126 a
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
127
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
128 diff -r 000000000000 -r 69c7dbf6acd1 a
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
129 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
130 +++ b/a Thu Jan 01 00:00:00 1970 +0000
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
131 @@ -0,0 +1,1 @@
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
132 +a
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
133
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
134 $ hg import - << EOF
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
135 > # HG changeset patch
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
136 > # User test
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
137 > # Date 0 0
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
138 > # Thu Jan 01 00:00:00 1970 +0000
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
139 > # Branch another-branch
6542
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
140 > # Node ID 1111111111111111111111111111111111111111
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
141 > # Parent 2222222222222222222222222222222222222222
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
142 > # EXP-Topic-Namespace mynamespace
6536
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
143 > # EXP-Topic mytopic
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
144 > added z
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
145 >
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
146 > diff --git a/z b/z
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
147 > new file mode 100644
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
148 > --- /dev/null
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
149 > +++ b/z
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
150 > @@ -0,0 +1,1 @@
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
151 > +z
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
152 > EOF
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
153 applying patch from stdin
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
154
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
155 $ hg log -r tip -T '{rev}: {branch} {topic_namespace} {topic}\n'
6542
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
156 1: stable mynamespace mytopic
6536
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
157
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
158 $ hg log -r tip -T '{rev}: {fqbn}\n'
6542
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
159 1: stable//mynamespace/mytopic
6536
90b631fde2d7 topic: only set topic on workingcommitctx if it doesn't already have one
Anton Shestakov <av6@dwimlabs.net>
parents: 6310
diff changeset
160
6550
fa14b9fc953d tests: show extras after importing a patch with topic and namespace
Anton Shestakov <av6@dwimlabs.net>
parents: 6543
diff changeset
161 $ hg log -r tip -T '{rev}: {join(extras, " ")}\n'
fa14b9fc953d tests: show extras after importing a patch with topic and namespace
Anton Shestakov <av6@dwimlabs.net>
parents: 6543
diff changeset
162 1: branch=stable topic=mytopic topic-namespace=mynamespace
fa14b9fc953d tests: show extras after importing a patch with topic and namespace
Anton Shestakov <av6@dwimlabs.net>
parents: 6543
diff changeset
163
6543
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
164 Importing a patch with default namespace and topic values
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
165
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
166 $ hg import - << EOF
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
167 > # HG changeset patch
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
168 > # User test
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
169 > # Date 0 0
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
170 > # Thu Jan 01 00:00:00 1970 +0000
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
171 > # Branch stable
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
172 > # Node ID 1111111111111111111111111111111111111111
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
173 > # Parent 2222222222222222222222222222222222222222
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
174 > # EXP-Topic-Namespace none
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
175 > # EXP-Topic
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
176 > more z
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
177 >
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
178 > diff --git a/z b/z
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
179 > --- a/z
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
180 > +++ b/z
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
181 > @@ -1,1 +1,1 @@
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
182 > -z
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
183 > +zebra
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
184 > EOF
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
185 applying patch from stdin
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
186
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
187 $ hg log -r tip -T '{rev}: {branch} {topic_namespace} {topic}\n'
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
188 2: stable none
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
189
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
190 $ hg log -r tip -T '{rev}: {fqbn}\n'
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
191 2: stable
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
192
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
193 $ hg log -r tip -T '{rev}: {join(extras, " ")}\n'
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
194 2: branch=stable
b0cbad4d841f tests: importing with default topic&namespace values doesn't add extras
Anton Shestakov <av6@dwimlabs.net>
parents: 6542
diff changeset
195
6551
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
196 Importing a patch with topic namespace set and topic unset
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
197
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
198 $ hg import - << EOF
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
199 > # HG changeset patch
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
200 > # User test
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
201 > # Date 0 0
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
202 > # Thu Jan 01 00:00:00 1970 +0000
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
203 > # Branch stable
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
204 > # Node ID 1111111111111111111111111111111111111111
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
205 > # Parent 2222222222222222222222222222222222222222
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
206 > # EXP-Topic-Namespace mynamespace
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
207 > # EXP-Topic
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
208 > more z
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
209 >
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
210 > diff --git a/z b/z
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
211 > --- a/z
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
212 > +++ b/z
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
213 > @@ -1,1 +1,1 @@
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
214 > -zebra
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
215 > +z
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
216 > EOF
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
217 applying patch from stdin
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
218
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
219 $ hg log -r tip -T '{rev}: {branch} {topic_namespace} {topic}\n'
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
220 3: stable none
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
221
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
222 $ hg log -r tip -T '{rev}: {fqbn}\n'
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
223 3: stable
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
224
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
225 $ hg log -r tip -T '{rev}: {join(extras, " ")}\n'
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
226 3: branch=stable
198b87917ba8 tests: import a patch with topic namespace, but without topic
Anton Shestakov <av6@dwimlabs.net>
parents: 6550
diff changeset
227
6261
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
228 Revsets
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
229
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
230 $ nslog() {
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
231 > hg log -T '{rev}: {topic_namespace}\n' -r "$1"
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
232 > }
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
233
6542
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
234 $ nslog 'topicnamespace()'
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
235 0: alice
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
236 1: mynamespace
6261
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
237 $ nslog 'topicnamespace(:)'
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
238 0: alice
6542
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
239 1: mynamespace
6261
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
240 $ nslog 'topicnamespace(all())'
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
241 0: alice
6542
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
242 1: mynamespace
6261
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
243 $ nslog 'topicnamespace(topicnamespace("alice"))'
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
244 0: alice
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
245 $ nslog 'topicnamespace(wdir())'
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
246 0: alice
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
247 $ nslog 'topicnamespace("re:ice$")'
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
248 0: alice
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
249 $ nslog 'topicnamespace(nonsense)'
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
250 abort: unknown revision 'nonsense'
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
251 [10]
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
252
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
253 $ nslog 'topicnamespace("re:nonsense")'
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
254 $ nslog 'topicnamespace("literal:nonsense")'
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
255 abort: topic namespace 'nonsense' does not exist
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
256 [10]
a2491c578d2b topic: namespace revset predicate
Anton Shestakov <av6@dwimlabs.net>
parents: 6245
diff changeset
257
6236
7ad8107d953a topic: introduce topic namespaces concept starting with simple parsing
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
258 Parsing
7ad8107d953a topic: introduce topic namespaces concept starting with simple parsing
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
259
7ad8107d953a topic: introduce topic namespaces concept starting with simple parsing
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
260 $ hg debugparsefqbn foo/bar//user26/feature -T '[{branch}] <{topic_namespace}> ({topic})\n'
7ad8107d953a topic: introduce topic namespaces concept starting with simple parsing
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
261 [foo/bar] <user26> (feature)
7ad8107d953a topic: introduce topic namespaces concept starting with simple parsing
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
262
7ad8107d953a topic: introduce topic namespaces concept starting with simple parsing
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
263 no double slashes means it's a named branch
7ad8107d953a topic: introduce topic namespaces concept starting with simple parsing
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
264 $ hg debug-parse-fqbn foo/bar
7ad8107d953a topic: introduce topic namespaces concept starting with simple parsing
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
265 branch: foo/bar
6542
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
266 namespace: none
6236
7ad8107d953a topic: introduce topic namespaces concept starting with simple parsing
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
267 topic:
6237
0b9042408809 topic: formatting branch, namespace and topic into fully qualified branch name
Anton Shestakov <av6@dwimlabs.net>
parents: 6236
diff changeset
268
0b9042408809 topic: formatting branch, namespace and topic into fully qualified branch name
Anton Shestakov <av6@dwimlabs.net>
parents: 6236
diff changeset
269 Formatting
0b9042408809 topic: formatting branch, namespace and topic into fully qualified branch name
Anton Shestakov <av6@dwimlabs.net>
parents: 6236
diff changeset
270
0b9042408809 topic: formatting branch, namespace and topic into fully qualified branch name
Anton Shestakov <av6@dwimlabs.net>
parents: 6236
diff changeset
271 $ hg debugformatfqbn -b branch -n namespace -t topic
0b9042408809 topic: formatting branch, namespace and topic into fully qualified branch name
Anton Shestakov <av6@dwimlabs.net>
parents: 6236
diff changeset
272 branch//namespace/topic
0b9042408809 topic: formatting branch, namespace and topic into fully qualified branch name
Anton Shestakov <av6@dwimlabs.net>
parents: 6236
diff changeset
273
0b9042408809 topic: formatting branch, namespace and topic into fully qualified branch name
Anton Shestakov <av6@dwimlabs.net>
parents: 6236
diff changeset
274 $ hg debug-format-fqbn -n namespace
0b9042408809 topic: formatting branch, namespace and topic into fully qualified branch name
Anton Shestakov <av6@dwimlabs.net>
parents: 6236
diff changeset
275 //namespace/
0b9042408809 topic: formatting branch, namespace and topic into fully qualified branch name
Anton Shestakov <av6@dwimlabs.net>
parents: 6236
diff changeset
276
0b9042408809 topic: formatting branch, namespace and topic into fully qualified branch name
Anton Shestakov <av6@dwimlabs.net>
parents: 6236
diff changeset
277 $ hg debug-format-fqbn -b foo/bar -n user26 -t feature
0b9042408809 topic: formatting branch, namespace and topic into fully qualified branch name
Anton Shestakov <av6@dwimlabs.net>
parents: 6236
diff changeset
278 foo/bar//user26/feature
0b9042408809 topic: formatting branch, namespace and topic into fully qualified branch name
Anton Shestakov <av6@dwimlabs.net>
parents: 6236
diff changeset
279
6266
213db29a19e9 topic: ability to shorten branch//namespace/topic strings when possible
Anton Shestakov <av6@dwimlabs.net>
parents: 6261
diff changeset
280 default values
213db29a19e9 topic: ability to shorten branch//namespace/topic strings when possible
Anton Shestakov <av6@dwimlabs.net>
parents: 6261
diff changeset
281
6542
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
282 $ hg debug-format-fqbn -b default -n none -t '' --no-short
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
283 default//none/
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
284 $ hg debug-format-fqbn -b default -n none -t '' --short
6266
213db29a19e9 topic: ability to shorten branch//namespace/topic strings when possible
Anton Shestakov <av6@dwimlabs.net>
parents: 6261
diff changeset
285 default
213db29a19e9 topic: ability to shorten branch//namespace/topic strings when possible
Anton Shestakov <av6@dwimlabs.net>
parents: 6261
diff changeset
286
6267
1eb543272657 topic: switch to the short fqbn format by default
Anton Shestakov <av6@dwimlabs.net>
parents: 6266
diff changeset
287 $ hg debug-format-fqbn -b default -n namespace -t '' --no-short
6266
213db29a19e9 topic: ability to shorten branch//namespace/topic strings when possible
Anton Shestakov <av6@dwimlabs.net>
parents: 6261
diff changeset
288 default//namespace/
213db29a19e9 topic: ability to shorten branch//namespace/topic strings when possible
Anton Shestakov <av6@dwimlabs.net>
parents: 6261
diff changeset
289 $ hg debug-format-fqbn -b default -n namespace -t '' --short
213db29a19e9 topic: ability to shorten branch//namespace/topic strings when possible
Anton Shestakov <av6@dwimlabs.net>
parents: 6261
diff changeset
290 default//namespace/
213db29a19e9 topic: ability to shorten branch//namespace/topic strings when possible
Anton Shestakov <av6@dwimlabs.net>
parents: 6261
diff changeset
291
6542
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
292 $ hg debug-format-fqbn -b default -n none -t topic --no-short
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
293 default//none/topic
ca1c219bd59f branching: merge with stable
Anton Shestakov <av6@dwimlabs.net>
parents: 6536
diff changeset
294 $ hg debug-format-fqbn -b default -n none -t topic --short
6266
213db29a19e9 topic: ability to shorten branch//namespace/topic strings when possible
Anton Shestakov <av6@dwimlabs.net>
parents: 6261
diff changeset
295 default//topic
213db29a19e9 topic: ability to shorten branch//namespace/topic strings when possible
Anton Shestakov <av6@dwimlabs.net>
parents: 6261
diff changeset
296
6237
0b9042408809 topic: formatting branch, namespace and topic into fully qualified branch name
Anton Shestakov <av6@dwimlabs.net>
parents: 6236
diff changeset
297 $ cd ..