##// END OF EJS Templates
perf: use a formatter for output...
perf: use a formatter for output We use a `formatter` object in the perf extensions. This allow the use of formatted output like json. To avoid adding logic to create a formatter and pass it around to the timer function in every command, we add a `gettimer` function in charge of returning a `timer` function as simple as before but embedding an appropriate formatter. This new `gettimer` function also return the formatter as it needs to be explicitly closed at the end of the command. example output: $ hg --config ui.formatjson=True perfvolatilesets visible obsolete [ { "comb": 0.02, "count": 126, "sys": 0.0, "title": "obsolete", "user": 0.02, "wall": 0.0199398994446 }, { "comb": 0.02, "count": 117, "sys": 0.0, "title": "visible", "user": 0.02, "wall": 0.0250301361084 } ]

File last commit:

r22705:d4869b28 default
r23171:8afae1d5 default
Show More
test-branches.t
519 lines | 15.4 KiB | text/troff | Tads3Lexer
Martin Geisler
tests: unify test-branches
r11868 $ hg init a
$ cd a
$ echo 'root' >root
$ hg add root
$ hg commit -d '0 0' -m "Adding root node"
$ echo 'a' >a
$ hg add a
$ hg branch a
marked working directory as branch a
Matt Mackall
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Martin Geisler
tests: unify test-branches
r11868 $ hg commit -d '1 0' -m "Adding a branch"
$ hg branch q
marked working directory as branch q
Matt Mackall
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Martin Geisler
tests: unify test-branches
r11868 $ echo 'aa' >a
$ hg branch -C
reset working directory to branch a
$ hg commit -d '2 0' -m "Adding to a branch"
$ hg update -C 0
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo 'b' >b
$ hg add b
$ hg branch b
marked working directory as branch b
Matt Mackall
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Martin Geisler
tests: unify test-branches
r11868 $ hg commit -d '2 0' -m "Adding b branch"
$ echo 'bh1' >bh1
$ hg add bh1
$ hg commit -d '3 0' -m "Adding b branch head 1"
$ hg update -C 2
1 files updated, 0 files merged, 2 files removed, 0 files unresolved
$ echo 'bh2' >bh2
$ hg add bh2
$ hg commit -d '4 0' -m "Adding b branch head 2"
$ echo 'c' >c
$ hg add c
$ hg branch c
marked working directory as branch c
Matt Mackall
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Martin Geisler
tests: unify test-branches
r11868 $ hg commit -d '5 0' -m "Adding c branch"
Kevin Bullock
scmutil: add bad character checking to checknewlabel...
r17821 reserved names
Martin Geisler
tests: unify test-branches
r11868 $ hg branch tip
abort: the name 'tip' is reserved
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-branches
r11868 $ hg branch null
abort: the name 'null' is reserved
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-branches
r11868 $ hg branch .
abort: the name '.' is reserved
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-branches
r11868
Kevin Bullock
scmutil: add bad character checking to checknewlabel...
r17821 invalid characters
$ hg branch 'foo:bar'
Wagner Bruna
scmutil: generalize message to make it more i18n-friendly
r17850 abort: ':' cannot be used in a name
Kevin Bullock
scmutil: add bad character checking to checknewlabel...
r17821 [255]
$ hg branch 'foo
> bar'
Wagner Bruna
scmutil: generalize message to make it more i18n-friendly
r17850 abort: '\n' cannot be used in a name
Kevin Bullock
scmutil: add bad character checking to checknewlabel...
r17821 [255]
Yuya Nishihara
branch: strip whitespace before testing known branch name...
r19180 trailing or leading spaces should be stripped before testing duplicates
$ hg branch 'b '
abort: a branch of the same name already exists
(use 'hg update' to switch to it)
[255]
$ hg branch ' b'
abort: a branch of the same name already exists
(use 'hg update' to switch to it)
[255]
Tim Henigan
update: allow update to existing branches with invalid names (issue3710)...
r17984 verify update will accept invalid legacy branch names
$ hg init test-invalid-branch-name
$ cd test-invalid-branch-name
$ hg pull -u "$TESTDIR"/bundles/test-invalid-branch-name.hg
pulling from *test-invalid-branch-name.hg (glob)
requesting all changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 2 files
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg update '"colon:test"'
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ..
Martin Geisler
tests: unify test-branches
r11868 $ echo 'd' >d
$ hg add d
$ hg branch 'a branch name much longer than the default justification used by branches'
marked working directory as branch a branch name much longer than the default justification used by branches
Matt Mackall
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Martin Geisler
tests: unify test-branches
r11868 $ hg commit -d '6 0' -m "Adding d branch"
$ hg branches
a branch name much longer than the default justification used by branches 7:10ff5895aa57
b 4:aee39cd168d0
c 6:589736a22561 (inactive)
a 5:d8cbc61dbaa6 (inactive)
default 0:19709c5a4e75 (inactive)
-------
$ hg branches -a
a branch name much longer than the default justification used by branches 7:10ff5895aa57
b 4:aee39cd168d0
--- Branch a
$ hg log -b a
changeset: 5:d8cbc61dbaa6
branch: a
parent: 2:881fe2b92ad0
user: test
date: Thu Jan 01 00:00:04 1970 +0000
summary: Adding b branch head 2
changeset: 2:881fe2b92ad0
branch: a
user: test
date: Thu Jan 01 00:00:02 1970 +0000
summary: Adding to a branch
changeset: 1:dd6b440dd85a
branch: a
user: test
date: Thu Jan 01 00:00:01 1970 +0000
summary: Adding a branch
---- Branch b
$ hg log -b b
changeset: 4:aee39cd168d0
branch: b
user: test
date: Thu Jan 01 00:00:03 1970 +0000
summary: Adding b branch head 1
changeset: 3:ac22033332d1
branch: b
parent: 0:19709c5a4e75
user: test
date: Thu Jan 01 00:00:02 1970 +0000
summary: Adding b branch
---- going to test branch closing
$ hg branches
a branch name much longer than the default justification used by branches 7:10ff5895aa57
b 4:aee39cd168d0
c 6:589736a22561 (inactive)
a 5:d8cbc61dbaa6 (inactive)
default 0:19709c5a4e75 (inactive)
$ hg up -C b
2 files updated, 0 files merged, 4 files removed, 0 files unresolved
$ echo 'xxx1' >> b
$ hg commit -d '7 0' -m 'adding cset to branch b'
$ hg up -C aee39cd168d0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo 'xxx2' >> b
$ hg commit -d '8 0' -m 'adding head to branch b'
created new head
$ echo 'xxx3' >> b
$ hg commit -d '9 0' -m 'adding another cset to branch b'
$ hg branches
b 10:bfbe841b666e
a branch name much longer than the default justification used by branches 7:10ff5895aa57
c 6:589736a22561 (inactive)
a 5:d8cbc61dbaa6 (inactive)
default 0:19709c5a4e75 (inactive)
$ hg heads --closed
changeset: 10:bfbe841b666e
branch: b
tag: tip
user: test
date: Thu Jan 01 00:00:09 1970 +0000
summary: adding another cset to branch b
changeset: 8:eebb944467c9
branch: b
parent: 4:aee39cd168d0
user: test
date: Thu Jan 01 00:00:07 1970 +0000
summary: adding cset to branch b
changeset: 7:10ff5895aa57
branch: a branch name much longer than the default justification used by branches
user: test
date: Thu Jan 01 00:00:06 1970 +0000
summary: Adding d branch
changeset: 6:589736a22561
branch: c
user: test
date: Thu Jan 01 00:00:05 1970 +0000
summary: Adding c branch
changeset: 5:d8cbc61dbaa6
branch: a
parent: 2:881fe2b92ad0
user: test
date: Thu Jan 01 00:00:04 1970 +0000
summary: Adding b branch head 2
changeset: 0:19709c5a4e75
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: Adding root node
$ hg heads
changeset: 10:bfbe841b666e
branch: b
tag: tip
user: test
date: Thu Jan 01 00:00:09 1970 +0000
summary: adding another cset to branch b
changeset: 8:eebb944467c9
branch: b
parent: 4:aee39cd168d0
user: test
date: Thu Jan 01 00:00:07 1970 +0000
summary: adding cset to branch b
changeset: 7:10ff5895aa57
branch: a branch name much longer than the default justification used by branches
user: test
date: Thu Jan 01 00:00:06 1970 +0000
summary: Adding d branch
changeset: 6:589736a22561
branch: c
user: test
date: Thu Jan 01 00:00:05 1970 +0000
summary: Adding c branch
changeset: 5:d8cbc61dbaa6
branch: a
parent: 2:881fe2b92ad0
user: test
date: Thu Jan 01 00:00:04 1970 +0000
summary: Adding b branch head 2
changeset: 0:19709c5a4e75
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: Adding root node
$ hg commit -d '9 0' --close-branch -m 'prune bad branch'
$ hg branches -a
b 8:eebb944467c9
a branch name much longer than the default justification used by branches 7:10ff5895aa57
$ hg up -C b
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg commit -d '9 0' --close-branch -m 'close this part branch too'
Iulian Stana
commit: amending with --close-branch (issue3445)...
r19305 $ hg commit -d '9 0' --close-branch -m 're-closing this branch'
abort: can only close branch heads
[255]
Martin Geisler
tests: unify test-branches
r11868
Mads Kiilerich
commit: allow closing "non-head" changesets...
r18955 $ hg log -r tip --debug
Iulian Stana
commit: amending with --close-branch (issue3445)...
r19305 changeset: 12:e3d49c0575d8fc2cb1cd6859c747c14f5f6d499f
Mads Kiilerich
commit: allow closing "non-head" changesets...
r18955 branch: b
tag: tip
phase: draft
Iulian Stana
commit: amending with --close-branch (issue3445)...
r19305 parent: 8:eebb944467c9fb9651ed232aeaf31b3c0a7fc6c1
Mads Kiilerich
commit: allow closing "non-head" changesets...
r18955 parent: -1:0000000000000000000000000000000000000000
manifest: 8:6f9ed32d2b310e391a4f107d5f0f071df785bfee
user: test
date: Thu Jan 01 00:00:09 1970 +0000
extra: branch=b
extra: close=1
description:
Iulian Stana
commit: amending with --close-branch (issue3445)...
r19305 close this part branch too
Mads Kiilerich
commit: allow closing "non-head" changesets...
r18955
Martin Geisler
tests: unify test-branches
r11868 --- b branch should be inactive
$ hg branches
a branch name much longer than the default justification used by branches 7:10ff5895aa57
c 6:589736a22561 (inactive)
a 5:d8cbc61dbaa6 (inactive)
default 0:19709c5a4e75 (inactive)
$ hg branches -c
a branch name much longer than the default justification used by branches 7:10ff5895aa57
Peter Arrenbrecht
localrepo: reuse parent manifest in commitctx if no files have changed...
r14162 b 12:e3d49c0575d8 (closed)
Martin Geisler
tests: unify test-branches
r11868 c 6:589736a22561 (inactive)
a 5:d8cbc61dbaa6 (inactive)
default 0:19709c5a4e75 (inactive)
$ hg branches -a
a branch name much longer than the default justification used by branches 7:10ff5895aa57
Travis Herrick
branches: quiet option observes other parameters
r16612 $ hg branches -q
a branch name much longer than the default justification used by branches
c
a
default
Martin Geisler
tests: unify test-branches
r11868 $ hg heads b
no open branch heads found on branches b
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Martin Geisler
tests: unify test-branches
r11868 $ hg heads --closed b
Peter Arrenbrecht
localrepo: reuse parent manifest in commitctx if no files have changed...
r14162 changeset: 12:e3d49c0575d8
Martin Geisler
tests: unify test-branches
r11868 branch: b
tag: tip
parent: 8:eebb944467c9
user: test
date: Thu Jan 01 00:00:09 1970 +0000
summary: close this part branch too
Peter Arrenbrecht
localrepo: reuse parent manifest in commitctx if no files have changed...
r14162 changeset: 11:d3f163457ebf
Martin Geisler
tests: unify test-branches
r11868 branch: b
user: test
date: Thu Jan 01 00:00:09 1970 +0000
summary: prune bad branch
$ echo 'xxx4' >> b
$ hg commit -d '9 0' -m 'reopen branch with a change'
reopening closed branch head 12
--- branch b is back in action
$ hg branches -a
Peter Arrenbrecht
localrepo: reuse parent manifest in commitctx if no files have changed...
r14162 b 13:e23b5505d1ad
Martin Geisler
tests: unify test-branches
r11868 a branch name much longer than the default justification used by branches 7:10ff5895aa57
---- test heads listings
$ hg heads
Peter Arrenbrecht
localrepo: reuse parent manifest in commitctx if no files have changed...
r14162 changeset: 13:e23b5505d1ad
Martin Geisler
tests: unify test-branches
r11868 branch: b
tag: tip
user: test
date: Thu Jan 01 00:00:09 1970 +0000
summary: reopen branch with a change
changeset: 7:10ff5895aa57
branch: a branch name much longer than the default justification used by branches
user: test
date: Thu Jan 01 00:00:06 1970 +0000
summary: Adding d branch
changeset: 6:589736a22561
branch: c
user: test
date: Thu Jan 01 00:00:05 1970 +0000
summary: Adding c branch
changeset: 5:d8cbc61dbaa6
branch: a
parent: 2:881fe2b92ad0
user: test
date: Thu Jan 01 00:00:04 1970 +0000
summary: Adding b branch head 2
changeset: 0:19709c5a4e75
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: Adding root node
branch default
$ hg heads default
changeset: 0:19709c5a4e75
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: Adding root node
branch a
$ hg heads a
changeset: 5:d8cbc61dbaa6
branch: a
parent: 2:881fe2b92ad0
user: test
date: Thu Jan 01 00:00:04 1970 +0000
summary: Adding b branch head 2
$ hg heads --active a
no open branch heads found on branches a
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Martin Geisler
tests: unify test-branches
r11868
branch b
$ hg heads b
Peter Arrenbrecht
localrepo: reuse parent manifest in commitctx if no files have changed...
r14162 changeset: 13:e23b5505d1ad
Martin Geisler
tests: unify test-branches
r11868 branch: b
tag: tip
user: test
date: Thu Jan 01 00:00:09 1970 +0000
summary: reopen branch with a change
$ hg heads --closed b
Peter Arrenbrecht
localrepo: reuse parent manifest in commitctx if no files have changed...
r14162 changeset: 13:e23b5505d1ad
Martin Geisler
tests: unify test-branches
r11868 branch: b
tag: tip
user: test
date: Thu Jan 01 00:00:09 1970 +0000
summary: reopen branch with a change
Peter Arrenbrecht
localrepo: reuse parent manifest in commitctx if no files have changed...
r14162 changeset: 11:d3f163457ebf
Martin Geisler
tests: unify test-branches
r11868 branch: b
user: test
date: Thu Jan 01 00:00:09 1970 +0000
summary: prune bad branch
Jeremy Whitlock
color: enable branches support...
r11969 default branch colors:
$ echo "[extensions]" >> $HGRCPATH
$ echo "color =" >> $HGRCPATH
Danek Duvall
color: add support for terminfo-based attributes and color...
r13987 $ echo "[color]" >> $HGRCPATH
$ echo "mode = ansi" >> $HGRCPATH
Jeremy Whitlock
color: enable branches support...
r11969
$ hg up -C c
3 files updated, 0 files merged, 2 files removed, 0 files unresolved
$ hg commit -d '9 0' --close-branch -m 'reclosing this branch'
$ hg up -C b
2 files updated, 0 files merged, 3 files removed, 0 files unresolved
$ hg branches --color=always
Yuya Nishihara
branches: merge white space to format string...
r22704 \x1b[0;32mb\x1b[0m\x1b[0;33m 13:e23b5505d1ad\x1b[0m (esc)
\x1b[0;0ma branch name much longer than the default justification used by branches\x1b[0m\x1b[0;33m 7:10ff5895aa57\x1b[0m (esc)
\x1b[0;0ma\x1b[0m\x1b[0;33m 5:d8cbc61dbaa6\x1b[0m (inactive) (esc)
\x1b[0;0mdefault\x1b[0m\x1b[0;33m 0:19709c5a4e75\x1b[0m (inactive) (esc)
Jeremy Whitlock
color: enable branches support...
r11969
default closed branch color:
$ hg branches --color=always --closed
Yuya Nishihara
branches: merge white space to format string...
r22704 \x1b[0;32mb\x1b[0m\x1b[0;33m 13:e23b5505d1ad\x1b[0m (esc)
\x1b[0;0ma branch name much longer than the default justification used by branches\x1b[0m\x1b[0;33m 7:10ff5895aa57\x1b[0m (esc)
\x1b[0;30;1mc\x1b[0m\x1b[0;33m 14:f894c25619d3\x1b[0m (closed) (esc)
\x1b[0;0ma\x1b[0m\x1b[0;33m 5:d8cbc61dbaa6\x1b[0m (inactive) (esc)
\x1b[0;0mdefault\x1b[0m\x1b[0;33m 0:19709c5a4e75\x1b[0m (inactive) (esc)
Jeremy Whitlock
color: enable branches support...
r11969
$ echo "[extensions]" >> $HGRCPATH
$ echo "color =" >> $HGRCPATH
$ echo "[color]" >> $HGRCPATH
$ echo "branches.active = green" >> $HGRCPATH
$ echo "branches.closed = blue" >> $HGRCPATH
$ echo "branches.current = red" >> $HGRCPATH
$ echo "branches.inactive = magenta" >> $HGRCPATH
$ echo "log.changeset = cyan" >> $HGRCPATH
custom branch colors:
$ hg branches --color=always
Yuya Nishihara
branches: merge white space to format string...
r22704 \x1b[0;31mb\x1b[0m\x1b[0;36m 13:e23b5505d1ad\x1b[0m (esc)
\x1b[0;32ma branch name much longer than the default justification used by branches\x1b[0m\x1b[0;36m 7:10ff5895aa57\x1b[0m (esc)
\x1b[0;35ma\x1b[0m\x1b[0;36m 5:d8cbc61dbaa6\x1b[0m (inactive) (esc)
\x1b[0;35mdefault\x1b[0m\x1b[0;36m 0:19709c5a4e75\x1b[0m (inactive) (esc)
Jeremy Whitlock
color: enable branches support...
r11969
custom closed branch color:
$ hg branches --color=always --closed
Yuya Nishihara
branches: merge white space to format string...
r22704 \x1b[0;31mb\x1b[0m\x1b[0;36m 13:e23b5505d1ad\x1b[0m (esc)
\x1b[0;32ma branch name much longer than the default justification used by branches\x1b[0m\x1b[0;36m 7:10ff5895aa57\x1b[0m (esc)
\x1b[0;34mc\x1b[0m\x1b[0;36m 14:f894c25619d3\x1b[0m (closed) (esc)
\x1b[0;35ma\x1b[0m\x1b[0;36m 5:d8cbc61dbaa6\x1b[0m (inactive) (esc)
\x1b[0;35mdefault\x1b[0m\x1b[0;36m 0:19709c5a4e75\x1b[0m (inactive) (esc)
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
Yuya Nishihara
branches: port to generic templater
r22703 template output:
$ hg branches -Tjson --closed
[
{
Yuya Nishihara
branches: include active, closed and current flags in template output
r22705 "active": true,
Yuya Nishihara
branches: port to generic templater
r22703 "branch": "b",
Yuya Nishihara
branches: include active, closed and current flags in template output
r22705 "closed": false,
"current": true,
Yuya Nishihara
branches: port to generic templater
r22703 "node": "e23b5505d1ad24aab6f84fd8c7cb8cd8e5e93be0",
"rev": 13
},
{
Yuya Nishihara
branches: include active, closed and current flags in template output
r22705 "active": true,
Yuya Nishihara
branches: port to generic templater
r22703 "branch": "a branch name much longer than the default justification used by branches",
Yuya Nishihara
branches: include active, closed and current flags in template output
r22705 "closed": false,
"current": false,
Yuya Nishihara
branches: port to generic templater
r22703 "node": "10ff5895aa5793bd378da574af8cec8ea408d831",
"rev": 7
},
{
Yuya Nishihara
branches: include active, closed and current flags in template output
r22705 "active": false,
Yuya Nishihara
branches: port to generic templater
r22703 "branch": "c",
Yuya Nishihara
branches: include active, closed and current flags in template output
r22705 "closed": true,
"current": false,
Yuya Nishihara
branches: port to generic templater
r22703 "node": "f894c25619d3f1484639d81be950e0a07bc6f1f6",
"rev": 14
},
{
Yuya Nishihara
branches: include active, closed and current flags in template output
r22705 "active": false,
Yuya Nishihara
branches: port to generic templater
r22703 "branch": "a",
Yuya Nishihara
branches: include active, closed and current flags in template output
r22705 "closed": false,
"current": false,
Yuya Nishihara
branches: port to generic templater
r22703 "node": "d8cbc61dbaa6dc817175d1e301eecb863f280832",
"rev": 5
},
{
Yuya Nishihara
branches: include active, closed and current flags in template output
r22705 "active": false,
Yuya Nishihara
branches: port to generic templater
r22703 "branch": "default",
Yuya Nishihara
branches: include active, closed and current flags in template output
r22705 "closed": false,
"current": false,
Yuya Nishihara
branches: port to generic templater
r22703 "node": "19709c5a4e75bf938f8e349aff97438539bb729e",
"rev": 0
}
]
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..