Patchwork branch: don't warn about branches if repository has multiple branches already

login
register
mail settings
Submitter Matt Mackall
Date May 26, 2015, 8:02 p.m.
Message ID <da0105aee52a058e03db.1432670538@ruin.waste.org>
Download mbox | patch
Permalink /patch/9282/
State Accepted
Headers show

Comments

Matt Mackall - May 26, 2015, 8:02 p.m.
# HG changeset patch
# User Matt Mackall <mpm@selenic.com>
# Date 1432332539 18000
#      Fri May 22 17:08:59 2015 -0500
# Node ID da0105aee52a058e03db3e9c9a187962efc0c7db
# Parent  6ac860f700b5cfeda232d5305963047696b869ca
branch: don't warn about branches if repository has multiple branches already

This warning exists to prevent git users from prematurely polluting
their namespace when trying out Mercurial. But for repos that already
have multiple branches, understanding what branches are is not
optional so we should just shut up.
Augie Fackler - May 27, 2015, 5:10 a.m.
On Tue, May 26, 2015 at 03:02:18PM -0500, Matt Mackall wrote:
> # HG changeset patch
> # User Matt Mackall <mpm@selenic.com>
> # Date 1432332539 18000
> #      Fri May 22 17:08:59 2015 -0500
> # Node ID da0105aee52a058e03db3e9c9a187962efc0c7db
> # Parent  6ac860f700b5cfeda232d5305963047696b869ca
> branch: don't warn about branches if repository has multiple branches already
>

Seems reasonable. I might err on the side of caution and still warn
about the global nature if users have only two branches, but we can
iterate on that if others feel this isn't conservative enough (if I'm
the only one here, I'm fine with the way it is) as a followup. Thanks!

(queued)

>
> This warning exists to prevent git users from prematurely polluting
> their namespace when trying out Mercurial. But for repos that already
> have multiple branches, understanding what branches are is not
> optional so we should just shut up.
>
> diff -r 6ac860f700b5 -r da0105aee52a mercurial/commands.py
> --- a/mercurial/commands.py	Tue May 26 14:52:47 2015 -0500
> +++ b/mercurial/commands.py	Fri May 22 17:08:59 2015 -0500
> @@ -1107,8 +1107,9 @@
>              scmutil.checknewlabel(repo, label, 'branch')
>              repo.dirstate.setbranch(label)
>              ui.status(_('marked working directory as branch %s\n') % label)
> -            ui.status(_('(branches are permanent and global, '
> -                        'did you want a bookmark?)\n'))
> +            if len(repo.branchmap()) == 1:
> +                ui.status(_('(branches are permanent and global, '
> +                            'did you want a bookmark?)\n'))
>      finally:
>          wlock.release()
>
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-backout.t
> --- a/tests/test-backout.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-backout.t	Fri May 22 17:08:59 2015 -0500
> @@ -389,7 +389,6 @@
>    adding file1
>    $ hg branch branch2
>    marked working directory as branch branch2
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo branch2 > file2
>    $ hg ci -d '2 0' -Am file2
>    adding file2
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-bheads.t
> --- a/tests/test-bheads.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-bheads.t	Fri May 22 17:08:59 2015 -0500
> @@ -37,7 +37,6 @@
>    $ hg add b
>    $ hg branch b
>    marked working directory as branch b
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg commit -m "Adding b branch"
>    $ heads
>    2: Adding b branch (b)
> @@ -119,7 +118,6 @@
>    $ hg add c
>    $ hg branch c
>    marked working directory as branch c
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg commit -m "Adding c branch"
>    $ heads
>    7: Adding c branch (c)
> @@ -302,7 +300,6 @@
>    $ hg up -q null
>    $ hg branch -f b
>    marked working directory as branch b
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo 1 > bb
>    $ hg ci -Am "b4 (NN): new topo root for branch b"
>    adding bb
> @@ -317,7 +314,6 @@
>
>    $ hg branch -f default
>    marked working directory as branch default
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo 1 > aa
>    $ hg ci -Am "a6 (BN): new branch root"
>    adding aa
> @@ -337,7 +333,6 @@
>    $ hg merge -q 3
>    $ hg branch -f default
>    marked working directory as branch default
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg ci -m "a8 (BB): weird new branch root"
>    created new head
>
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-branch-option.t
> --- a/tests/test-branch-option.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-branch-option.t	Fri May 22 17:08:59 2015 -0500
> @@ -4,7 +4,6 @@
>    $ cd branch
>    $ hg branch a
>    marked working directory as branch a
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo a > foo
>    $ hg ci -d '0 0' -Ama
>    adding foo
> @@ -38,14 +37,12 @@
>    1 files updated, 0 files merged, 0 files removed, 0 files unresolved
>    $ hg --encoding utf-8 branch æ
>    marked working directory as branch \xc3\xa6 (esc)
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo ae1 > foo
>    $ hg ci -d '0 0' -mae1
>    $ hg up 0
>    1 files updated, 0 files merged, 0 files removed, 0 files unresolved
>    $ hg --encoding utf-8 branch -f æ
>    marked working directory as branch \xc3\xa6 (esc)
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo ae2 > foo
>    $ hg ci -d '0 0' -mae2
>    created new head
> @@ -53,7 +50,6 @@
>    1 files updated, 0 files merged, 0 files removed, 0 files unresolved
>    $ hg branch -f b
>    marked working directory as branch b
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo b2 > foo
>    $ hg ci -d '0 0' -mb2
>    created new head
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-branches.t
> --- a/tests/test-branches.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-branches.t	Fri May 22 17:08:59 2015 -0500
> @@ -13,7 +13,6 @@
>
>    $ hg branch q
>    marked working directory as branch q
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo 'aa' >a
>    $ hg branch -C
>    reset working directory to branch a
> @@ -25,7 +24,6 @@
>    $ hg add b
>    $ hg branch b
>    marked working directory as branch b
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg commit -d '2 0' -m "Adding b branch"
>
>    $ echo 'bh1' >bh1
> @@ -42,7 +40,6 @@
>    $ hg add c
>    $ hg branch c
>    marked working directory as branch c
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg commit -d '5 0' -m "Adding c branch"
>
>  reserved names
> @@ -101,7 +98,6 @@
>    $ 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
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg commit -d '6 0' -m "Adding d branch"
>
>    $ hg branches
> @@ -601,7 +597,6 @@
>  cache is updated when committing
>    $ hg branch i-will-regret-this
>    marked working directory as branch i-will-regret-this
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg ci -m regrets
>    $ f --size .hg/cache/rbc-*
>    .hg/cache/rbc-names-v1: size=106
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-clone-update-order.t
> --- a/tests/test-clone-update-order.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-clone-update-order.t	Fri May 22 17:08:59 2015 -0500
> @@ -14,7 +14,6 @@
>    0 files updated, 0 files merged, 1 files removed, 0 files unresolved
>    $ hg branch other
>    marked working directory as branch other
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo good > bye
>    $ hg commit -Am other
>    adding bye
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-clone.t
> --- a/tests/test-clone.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-clone.t	Fri May 22 17:08:59 2015 -0500
> @@ -357,7 +357,6 @@
>
>    $ hg -R ua branch @
>    marked working directory as branch @
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg -R ua commit -m 'created branch @'
>    $ hg clone ua atbranch
>    updating to branch default
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-commit-amend.t
> --- a/tests/test-commit-amend.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-commit-amend.t	Fri May 22 17:08:59 2015 -0500
> @@ -373,7 +373,6 @@
>    $ hg ci -m 'branch foo'
>    $ hg branch default -f
>    marked working directory as branch default
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg ci --amend -m 'back to default'
>    saved backup bundle to $TESTTMP/.hg/strip-backup/8ac881fbf49d-fd962fef-amend-backup.hg (glob)
>    $ hg branches
> @@ -468,7 +467,6 @@
>
>    $ hg branch a
>    marked working directory as branch a
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo a >> a
>    $ hg ci -ma
>    $ hg ci --amend -m "a'"
> @@ -848,7 +846,6 @@
>    $ hg up -q default
>    $ hg branch closewithamend
>    marked working directory as branch closewithamend
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo foo > foo
>    $ hg add foo
>    $ hg ci -m..
> @@ -860,7 +857,6 @@
>
>    $ hg branch silliness
>    marked working directory as branch silliness
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo b >> b
>    $ hg ci --close-branch -m'open and close'
>    abort: can only close branch heads
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-commit-multiple.t
> --- a/tests/test-commit-multiple.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-commit-multiple.t	Fri May 22 17:08:59 2015 -0500
> @@ -52,7 +52,6 @@
>    1 files updated, 0 files merged, 2 files removed, 0 files unresolved
>    $ hg branch release
>    marked working directory as branch release
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg transplant 2 3
>    applying [0-9a-f]{12} (re)
>    [0-9a-f]{12} transplanted to [0-9a-f]{12} (re)
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-convert-clonebranches.t
> --- a/tests/test-convert-clonebranches.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-convert-clonebranches.t	Fri May 22 17:08:59 2015 -0500
> @@ -55,13 +55,11 @@
>    $ cd source
>    $ hg branch branch1
>    marked working directory as branch branch1
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo a > file1
>    $ hg ci -qAm c1
>    $ hg up -qC mergeab
>    $ hg branch branch2
>    marked working directory as branch branch2
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo a > file2
>    $ hg ci -qAm c2
>    $ hg merge branch1
> @@ -69,7 +67,6 @@
>    (branch merge, don't forget to commit)
>    $ hg branch branch3
>    marked working directory as branch branch3
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg ci -qAm c3
>    $ cd ..
>
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-convert-datesort.t
> --- a/tests/test-convert-datesort.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-convert-datesort.t	Fri May 22 17:08:59 2015 -0500
> @@ -21,7 +21,6 @@
>    1 files updated, 0 files merged, 0 files removed, 0 files unresolved
>    $ hg branch branchb
>    marked working directory as branch branchb
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo b >> b
>    $ hg ci -Am b0 -d '6 0'
>    adding b
> @@ -42,7 +41,6 @@
>    $ echo c >> c
>    $ hg branch branchc
>    marked working directory as branch branchc
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg ci -Am c0 -d '10 0'
>    adding c
>    $ hg up -C brancha
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-convert-filemap.t
> --- a/tests/test-convert-filemap.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-convert-filemap.t	Fri May 22 17:08:59 2015 -0500
> @@ -350,7 +350,6 @@
>    $ cd branchpruning
>    $ hg branch foo
>    marked working directory as branch foo
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo a > a
>    $ hg ci -Am adda
>    adding a
> @@ -366,7 +365,6 @@
>    0 files updated, 0 files merged, 0 files removed, 0 files unresolved
>    $ hg branch default
>    marked working directory as branch default
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo b > b
>    $ hg ci -Am addb
>    adding b
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-encoding-align.t
> --- a/tests/test-encoding-align.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-encoding-align.t	Fri May 22 17:08:59 2015 -0500
> @@ -119,12 +119,10 @@
>    $ hg book -f $S
>    $ hg branch $M
>    marked working directory as branch MIDDLE_
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg tag $M
>    $ hg book -f $M
>    $ hg branch $L
>    marked working directory as branch \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d (esc)
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg tag $L
>    $ hg book -f $L
>
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-fetch.t
> --- a/tests/test-fetch.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-fetch.t	Fri May 22 17:08:59 2015 -0500
> @@ -168,7 +168,6 @@
>    1 files updated, 0 files merged, 0 files removed, 0 files unresolved
>    $ hg -R nbase branch b
>    marked working directory as branch b
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo b > nbase/b
>    $ hg -R nbase ci -Am b
>    adding b
> @@ -363,7 +362,6 @@
>    adding b
>    $ hg --cwd ib1 branch -f default
>    marked working directory as branch default
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo c > ib1/c
>    $ hg --cwd ib1 ci -Am newdefault
>    adding c
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-hgweb-commands.t
> --- a/tests/test-hgweb-commands.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-hgweb-commands.t	Fri May 22 17:08:59 2015 -0500
> @@ -26,7 +26,6 @@
>    $ hg ci -Ambranch
>    $ hg branch unstable
>    marked working directory as branch unstable
> -  (branches are permanent and global, did you want a bookmark?)
>    >>> open('msg', 'wb').write('branch commit with null character: \0\n')
>    $ hg ci -l msg
>    $ rm msg
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-http-branchmap.t
> --- a/tests/test-http-branchmap.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-http-branchmap.t	Fri May 22 17:08:59 2015 -0500
> @@ -10,7 +10,6 @@
>    $ hg init a
>    $ hg --encoding utf-8 -R a branch æ
>    marked working directory as branch \xc3\xa6 (esc)
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo foo > a/foo
>    $ hg -R a ci -Am foo
>    adding foo
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-newbranch.t
> --- a/tests/test-newbranch.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-newbranch.t	Fri May 22 17:08:59 2015 -0500
> @@ -25,7 +25,6 @@
>    $ hg ci -m "add branch name"
>    $ hg branch bar
>    marked working directory as branch bar
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg ci -m "change branch name"
>
>  Branch shadowing:
> @@ -37,7 +36,6 @@
>
>    $ hg branch -f default
>    marked working directory as branch default
> -  (branches are permanent and global, did you want a bookmark?)
>
>    $ hg ci -m "clear branch name"
>    created new head
> @@ -67,11 +65,9 @@
>
>    $ hg branch -f bar
>    marked working directory as branch bar
> -  (branches are permanent and global, did you want a bookmark?)
>
>    $ hg branch foo
>    marked working directory as branch foo
> -  (branches are permanent and global, did you want a bookmark?)
>
>    $ echo bleah > a
>    $ hg ci -m "modify a branch"
> @@ -94,13 +90,11 @@
>
>    $ hg branch default
>    marked working directory as branch default
> -  (branches are permanent and global, did you want a bookmark?)
>
>   set (first) parent branch as branch name
>
>    $ hg branch foo
>    marked working directory as branch foo
> -  (branches are permanent and global, did you want a bookmark?)
>
>    $ hg ci -m "merge"
>
> @@ -215,7 +209,6 @@
>
>    $ hg branch foobar
>    marked working directory as branch foobar
> -  (branches are permanent and global, did you want a bookmark?)
>
>    $ hg up
>    abort: branch foobar not found
> @@ -225,7 +218,6 @@
>
>    $ hg branch ff
>    marked working directory as branch ff
> -  (branches are permanent and global, did you want a bookmark?)
>
>    $ echo ff > ff
>    $ hg ci -Am'fast forward'
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-pull-branch.t
> --- a/tests/test-pull-branch.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-pull-branch.t	Fri May 22 17:08:59 2015 -0500
> @@ -33,7 +33,6 @@
>    1 files updated, 0 files merged, 0 files removed, 0 files unresolved
>    $ hg branch branchB
>    marked working directory as branch branchB
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo b1 > foo
>    $ hg ci -mb1 # 3
>
> @@ -141,7 +140,6 @@
>    1 files updated, 0 files merged, 0 files removed, 0 files unresolved
>    $ hg branch branchC
>    marked working directory as branch branchC
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo b1 > bar
>    $ hg ci -Am "commit on branchC on tt"
>    adding bar
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-push-warn.t
> --- a/tests/test-push-warn.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-push-warn.t	Fri May 22 17:08:59 2015 -0500
> @@ -451,7 +451,6 @@
>    $ hg init j
>    $ hg -R j branch a
>    marked working directory as branch a
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo init > j/foo
>    $ hg -R j ci -Am init
>    adding foo
> @@ -526,7 +525,6 @@
>    $ cd n
>    $ hg branch A
>    marked working directory as branch A
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo a >a
>    $ hg ci -Ama
>    adding a
> @@ -605,7 +603,6 @@
>    $ cd o
>    $ hg branch A
>    marked working directory as branch A
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo a >a
>    $ hg ci -Ama
>    adding a
> @@ -693,7 +690,6 @@
>    $ cd p
>    $ hg branch A
>    marked working directory as branch A
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo a0 >a
>    $ hg ci -Ama0
>    adding a
> @@ -718,7 +714,6 @@
>    1 files updated, 0 files merged, 1 files removed, 0 files unresolved
>    $ hg branch -f B
>    marked working directory as branch B
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo a3 >a
>    $ hg ci -ma3
>    created new head
> @@ -726,7 +721,6 @@
>    1 files updated, 0 files merged, 1 files removed, 0 files unresolved
>    $ hg branch -f A
>    marked working directory as branch A
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo b3 >b
>    $ hg ci -mb3
>    created new head
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-rebase-cache.t
> --- a/tests/test-rebase-cache.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-rebase-cache.t	Fri May 22 17:08:59 2015 -0500
> @@ -31,7 +31,6 @@
>
>    $ hg branch branch2
>    marked working directory as branch branch2
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg ci -m 'branch2'
>
>    $ echo c > C
> @@ -42,7 +41,6 @@
>
>    $ hg branch -f branch2
>    marked working directory as branch branch2
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo d > d
>    $ hg ci -Am D
>    adding d
> @@ -57,7 +55,6 @@
>
>    $ hg branch branch3
>    marked working directory as branch branch3
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg ci -m 'branch3'
>
>    $ echo f > f
> @@ -303,7 +300,6 @@
>
>    $ hg branch branch1
>    marked working directory as branch branch1
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg ci -m 'branch1'
>
>    $ hg branch branch2
> @@ -313,7 +309,6 @@
>
>    $ hg branch -f branch1
>    marked working directory as branch branch1
> -  (branches are permanent and global, did you want a bookmark?)
>
>    $ echo a > A
>    $ hg ci -Am A
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-rebase-collapse.t
> --- a/tests/test-rebase-collapse.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-rebase-collapse.t	Fri May 22 17:08:59 2015 -0500
> @@ -571,7 +571,6 @@
>
>    $ hg branch 'two'
>    marked working directory as branch two
> -  (branches are permanent and global, did you want a bookmark?)
>    $ echo 'c' > c
>    $ hg ci -Am 'C'
>    adding c
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-rebase-named-branches.t
> --- a/tests/test-rebase-named-branches.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-rebase-named-branches.t	Fri May 22 17:08:59 2015 -0500
> @@ -36,7 +36,6 @@
>    2 files updated, 0 files merged, 3 files removed, 0 files unresolved
>    $ hg branch dev-two
>    marked working directory as branch dev-two
> -  (branches are permanent and global, did you want a bookmark?)
>
>    $ echo x > x
>
> @@ -128,7 +127,6 @@
>    3 files updated, 0 files merged, 3 files removed, 0 files unresolved
>    $ hg branch dev-one
>    marked working directory as branch dev-one
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg ci -m 'dev-one named branch'
>
>    $ hg tglog
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-revset.t
> --- a/tests/test-revset.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-revset.t	Fri May 22 17:08:59 2015 -0500
> @@ -37,7 +37,6 @@
>    $ echo a > a
>    $ hg branch a
>    marked working directory as branch a
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg ci -Aqm0
>
>    $ echo b > b
> @@ -49,7 +48,6 @@
>    $ rm a
>    $ hg branch a-b-c-
>    marked working directory as branch a-b-c-
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg ci -Aqm2 -u Bob
>
>    $ hg log -r "extra('branch', 'a-b-c-')" --template '{rev}\n'
> @@ -66,7 +64,6 @@
>    1 files updated, 0 files merged, 0 files removed, 0 files unresolved
>    $ hg branch +a+b+c+
>    marked working directory as branch +a+b+c+
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg ci -Aqm3
>
>    $ hg co 2  # interleave
> @@ -74,14 +71,12 @@
>    $ echo bb > b
>    $ hg branch -- -a-b-c-
>    marked working directory as branch -a-b-c-
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg ci -Aqm4 -d "May 12 2005"
>
>    $ hg co 3
>    2 files updated, 0 files merged, 0 files removed, 0 files unresolved
>    $ hg branch !a/b/c/
>    marked working directory as branch !a/b/c/
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg ci -Aqm"5 bug"
>
>    $ hg merge 4
> @@ -89,23 +84,19 @@
>    (branch merge, don't forget to commit)
>    $ hg branch _a_b_c_
>    marked working directory as branch _a_b_c_
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg ci -Aqm"6 issue619"
>
>    $ hg branch .a.b.c.
>    marked working directory as branch .a.b.c.
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg ci -Aqm7
>
>    $ hg branch all
>    marked working directory as branch all
> -  (branches are permanent and global, did you want a bookmark?)
>
>    $ hg co 4
>    0 files updated, 0 files merged, 0 files removed, 0 files unresolved
>    $ hg branch é
>    marked working directory as branch \xc3\xa9 (esc)
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg ci -Aqm9
>
>    $ hg tag -r6 1.0
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-verify.t
> --- a/tests/test-verify.t	Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-verify.t	Fri May 22 17:08:59 2015 -0500
> @@ -67,7 +67,6 @@
>    $ cd b
>    $ hg branch foo
>    marked working directory as branch foo
> -  (branches are permanent and global, did you want a bookmark?)
>    $ hg ci -m branchfoo
>    $ hg verify
>    checking changesets
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel@selenic.com
> https://selenic.com/mailman/listinfo/mercurial-devel
Gregory Szorc - May 27, 2015, 2:51 p.m.
> On May 26, 2015, at 13:02, Matt Mackall <mpm@selenic.com> wrote:
> 
> # HG changeset patch
> # User Matt Mackall <mpm@selenic.com>
> # Date 1432332539 18000
> #      Fri May 22 17:08:59 2015 -0500
> # Node ID da0105aee52a058e03db3e9c9a187962efc0c7db
> # Parent  6ac860f700b5cfeda232d5305963047696b869ca
> branch: don't warn about branches if repository has multiple branches already
> 
> This warning exists to prevent git users from prematurely polluting
> their namespace when trying out Mercurial. But for repos that already
> have multiple branches, understanding what branches are is not
> optional so we should just shut up.
> 

I'm not crazy about this. All it takes is one person in the history of the repo to create a branch to cause this warning to disappear. The probability of this approaches 1 over time. This change pretty much guarantees that first time hg users on existing repos won't see the warning.

> diff -r 6ac860f700b5 -r da0105aee52a mercurial/commands.py
> --- a/mercurial/commands.py    Tue May 26 14:52:47 2015 -0500
> +++ b/mercurial/commands.py    Fri May 22 17:08:59 2015 -0500
> @@ -1107,8 +1107,9 @@
>             scmutil.checknewlabel(repo, label, 'branch')
>             repo.dirstate.setbranch(label)
>             ui.status(_('marked working directory as branch %s\n') % label)
> -            ui.status(_('(branches are permanent and global, '
> -                        'did you want a bookmark?)\n'))
> +            if len(repo.branchmap()) == 1:
> +                ui.status(_('(branches are permanent and global, '
> +                            'did you want a bookmark?)\n'))
>     finally:
>         wlock.release()
> 
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-backout.t
> --- a/tests/test-backout.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-backout.t    Fri May 22 17:08:59 2015 -0500
> @@ -389,7 +389,6 @@
>   adding file1
>   $ hg branch branch2
>   marked working directory as branch branch2
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo branch2 > file2
>   $ hg ci -d '2 0' -Am file2
>   adding file2
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-bheads.t
> --- a/tests/test-bheads.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-bheads.t    Fri May 22 17:08:59 2015 -0500
> @@ -37,7 +37,6 @@
>   $ hg add b
>   $ hg branch b
>   marked working directory as branch b
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg commit -m "Adding b branch"
>   $ heads
>   2: Adding b branch (b)
> @@ -119,7 +118,6 @@
>   $ hg add c
>   $ hg branch c
>   marked working directory as branch c
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg commit -m "Adding c branch"
>   $ heads
>   7: Adding c branch (c)
> @@ -302,7 +300,6 @@
>   $ hg up -q null
>   $ hg branch -f b
>   marked working directory as branch b
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo 1 > bb
>   $ hg ci -Am "b4 (NN): new topo root for branch b"
>   adding bb
> @@ -317,7 +314,6 @@
> 
>   $ hg branch -f default
>   marked working directory as branch default
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo 1 > aa
>   $ hg ci -Am "a6 (BN): new branch root"
>   adding aa
> @@ -337,7 +333,6 @@
>   $ hg merge -q 3
>   $ hg branch -f default
>   marked working directory as branch default
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg ci -m "a8 (BB): weird new branch root"
>   created new head
> 
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-branch-option.t
> --- a/tests/test-branch-option.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-branch-option.t    Fri May 22 17:08:59 2015 -0500
> @@ -4,7 +4,6 @@
>   $ cd branch
>   $ hg branch a
>   marked working directory as branch a
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo a > foo
>   $ hg ci -d '0 0' -Ama
>   adding foo
> @@ -38,14 +37,12 @@
>   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
>   $ hg --encoding utf-8 branch æ
>   marked working directory as branch \xc3\xa6 (esc)
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo ae1 > foo
>   $ hg ci -d '0 0' -mae1
>   $ hg up 0
>   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
>   $ hg --encoding utf-8 branch -f æ
>   marked working directory as branch \xc3\xa6 (esc)
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo ae2 > foo
>   $ hg ci -d '0 0' -mae2
>   created new head
> @@ -53,7 +50,6 @@
>   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
>   $ hg branch -f b
>   marked working directory as branch b
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo b2 > foo
>   $ hg ci -d '0 0' -mb2
>   created new head
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-branches.t
> --- a/tests/test-branches.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-branches.t    Fri May 22 17:08:59 2015 -0500
> @@ -13,7 +13,6 @@
> 
>   $ hg branch q
>   marked working directory as branch q
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo 'aa' >a
>   $ hg branch -C
>   reset working directory to branch a
> @@ -25,7 +24,6 @@
>   $ hg add b
>   $ hg branch b
>   marked working directory as branch b
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg commit -d '2 0' -m "Adding b branch"
> 
>   $ echo 'bh1' >bh1
> @@ -42,7 +40,6 @@
>   $ hg add c
>   $ hg branch c
>   marked working directory as branch c
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg commit -d '5 0' -m "Adding c branch"
> 
> reserved names
> @@ -101,7 +98,6 @@
>   $ 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
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg commit -d '6 0' -m "Adding d branch"
> 
>   $ hg branches
> @@ -601,7 +597,6 @@
> cache is updated when committing
>   $ hg branch i-will-regret-this
>   marked working directory as branch i-will-regret-this
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg ci -m regrets
>   $ f --size .hg/cache/rbc-*
>   .hg/cache/rbc-names-v1: size=106
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-clone-update-order.t
> --- a/tests/test-clone-update-order.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-clone-update-order.t    Fri May 22 17:08:59 2015 -0500
> @@ -14,7 +14,6 @@
>   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
>   $ hg branch other
>   marked working directory as branch other
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo good > bye
>   $ hg commit -Am other
>   adding bye
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-clone.t
> --- a/tests/test-clone.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-clone.t    Fri May 22 17:08:59 2015 -0500
> @@ -357,7 +357,6 @@
> 
>   $ hg -R ua branch @
>   marked working directory as branch @
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg -R ua commit -m 'created branch @'
>   $ hg clone ua atbranch
>   updating to branch default
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-commit-amend.t
> --- a/tests/test-commit-amend.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-commit-amend.t    Fri May 22 17:08:59 2015 -0500
> @@ -373,7 +373,6 @@
>   $ hg ci -m 'branch foo'
>   $ hg branch default -f
>   marked working directory as branch default
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg ci --amend -m 'back to default'
>   saved backup bundle to $TESTTMP/.hg/strip-backup/8ac881fbf49d-fd962fef-amend-backup.hg (glob)
>   $ hg branches
> @@ -468,7 +467,6 @@
> 
>   $ hg branch a
>   marked working directory as branch a
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo a >> a
>   $ hg ci -ma
>   $ hg ci --amend -m "a'"
> @@ -848,7 +846,6 @@
>   $ hg up -q default
>   $ hg branch closewithamend
>   marked working directory as branch closewithamend
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo foo > foo
>   $ hg add foo
>   $ hg ci -m..
> @@ -860,7 +857,6 @@
> 
>   $ hg branch silliness
>   marked working directory as branch silliness
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo b >> b
>   $ hg ci --close-branch -m'open and close'
>   abort: can only close branch heads
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-commit-multiple.t
> --- a/tests/test-commit-multiple.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-commit-multiple.t    Fri May 22 17:08:59 2015 -0500
> @@ -52,7 +52,6 @@
>   1 files updated, 0 files merged, 2 files removed, 0 files unresolved
>   $ hg branch release
>   marked working directory as branch release
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg transplant 2 3
>   applying [0-9a-f]{12} (re)
>   [0-9a-f]{12} transplanted to [0-9a-f]{12} (re)
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-convert-clonebranches.t
> --- a/tests/test-convert-clonebranches.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-convert-clonebranches.t    Fri May 22 17:08:59 2015 -0500
> @@ -55,13 +55,11 @@
>   $ cd source
>   $ hg branch branch1
>   marked working directory as branch branch1
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo a > file1
>   $ hg ci -qAm c1
>   $ hg up -qC mergeab
>   $ hg branch branch2
>   marked working directory as branch branch2
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo a > file2
>   $ hg ci -qAm c2
>   $ hg merge branch1
> @@ -69,7 +67,6 @@
>   (branch merge, don't forget to commit)
>   $ hg branch branch3
>   marked working directory as branch branch3
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg ci -qAm c3
>   $ cd ..
> 
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-convert-datesort.t
> --- a/tests/test-convert-datesort.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-convert-datesort.t    Fri May 22 17:08:59 2015 -0500
> @@ -21,7 +21,6 @@
>   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
>   $ hg branch branchb
>   marked working directory as branch branchb
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo b >> b
>   $ hg ci -Am b0 -d '6 0'
>   adding b
> @@ -42,7 +41,6 @@
>   $ echo c >> c
>   $ hg branch branchc
>   marked working directory as branch branchc
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg ci -Am c0 -d '10 0'
>   adding c
>   $ hg up -C brancha
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-convert-filemap.t
> --- a/tests/test-convert-filemap.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-convert-filemap.t    Fri May 22 17:08:59 2015 -0500
> @@ -350,7 +350,6 @@
>   $ cd branchpruning
>   $ hg branch foo
>   marked working directory as branch foo
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo a > a
>   $ hg ci -Am adda
>   adding a
> @@ -366,7 +365,6 @@
>   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
>   $ hg branch default
>   marked working directory as branch default
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo b > b
>   $ hg ci -Am addb
>   adding b
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-encoding-align.t
> --- a/tests/test-encoding-align.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-encoding-align.t    Fri May 22 17:08:59 2015 -0500
> @@ -119,12 +119,10 @@
>   $ hg book -f $S
>   $ hg branch $M
>   marked working directory as branch MIDDLE_
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg tag $M
>   $ hg book -f $M
>   $ hg branch $L
>   marked working directory as branch \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d (esc)
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg tag $L
>   $ hg book -f $L
> 
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-fetch.t
> --- a/tests/test-fetch.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-fetch.t    Fri May 22 17:08:59 2015 -0500
> @@ -168,7 +168,6 @@
>   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
>   $ hg -R nbase branch b
>   marked working directory as branch b
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo b > nbase/b
>   $ hg -R nbase ci -Am b
>   adding b
> @@ -363,7 +362,6 @@
>   adding b
>   $ hg --cwd ib1 branch -f default
>   marked working directory as branch default
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo c > ib1/c
>   $ hg --cwd ib1 ci -Am newdefault
>   adding c
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-hgweb-commands.t
> --- a/tests/test-hgweb-commands.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-hgweb-commands.t    Fri May 22 17:08:59 2015 -0500
> @@ -26,7 +26,6 @@
>   $ hg ci -Ambranch
>   $ hg branch unstable
>   marked working directory as branch unstable
> -  (branches are permanent and global, did you want a bookmark?)
>>>> open('msg', 'wb').write('branch commit with null character: \0\n')
>   $ hg ci -l msg
>   $ rm msg
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-http-branchmap.t
> --- a/tests/test-http-branchmap.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-http-branchmap.t    Fri May 22 17:08:59 2015 -0500
> @@ -10,7 +10,6 @@
>   $ hg init a
>   $ hg --encoding utf-8 -R a branch æ
>   marked working directory as branch \xc3\xa6 (esc)
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo foo > a/foo
>   $ hg -R a ci -Am foo
>   adding foo
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-newbranch.t
> --- a/tests/test-newbranch.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-newbranch.t    Fri May 22 17:08:59 2015 -0500
> @@ -25,7 +25,6 @@
>   $ hg ci -m "add branch name"
>   $ hg branch bar
>   marked working directory as branch bar
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg ci -m "change branch name"
> 
> Branch shadowing:
> @@ -37,7 +36,6 @@
> 
>   $ hg branch -f default
>   marked working directory as branch default
> -  (branches are permanent and global, did you want a bookmark?)
> 
>   $ hg ci -m "clear branch name"
>   created new head
> @@ -67,11 +65,9 @@
> 
>   $ hg branch -f bar
>   marked working directory as branch bar
> -  (branches are permanent and global, did you want a bookmark?)
> 
>   $ hg branch foo
>   marked working directory as branch foo
> -  (branches are permanent and global, did you want a bookmark?)
> 
>   $ echo bleah > a
>   $ hg ci -m "modify a branch"
> @@ -94,13 +90,11 @@
> 
>   $ hg branch default
>   marked working directory as branch default
> -  (branches are permanent and global, did you want a bookmark?)
> 
>  set (first) parent branch as branch name
> 
>   $ hg branch foo
>   marked working directory as branch foo
> -  (branches are permanent and global, did you want a bookmark?)
> 
>   $ hg ci -m "merge"
> 
> @@ -215,7 +209,6 @@
> 
>   $ hg branch foobar
>   marked working directory as branch foobar
> -  (branches are permanent and global, did you want a bookmark?)
> 
>   $ hg up
>   abort: branch foobar not found
> @@ -225,7 +218,6 @@
> 
>   $ hg branch ff
>   marked working directory as branch ff
> -  (branches are permanent and global, did you want a bookmark?)
> 
>   $ echo ff > ff
>   $ hg ci -Am'fast forward'
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-pull-branch.t
> --- a/tests/test-pull-branch.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-pull-branch.t    Fri May 22 17:08:59 2015 -0500
> @@ -33,7 +33,6 @@
>   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
>   $ hg branch branchB
>   marked working directory as branch branchB
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo b1 > foo
>   $ hg ci -mb1 # 3
> 
> @@ -141,7 +140,6 @@
>   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
>   $ hg branch branchC
>   marked working directory as branch branchC
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo b1 > bar
>   $ hg ci -Am "commit on branchC on tt"
>   adding bar
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-push-warn.t
> --- a/tests/test-push-warn.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-push-warn.t    Fri May 22 17:08:59 2015 -0500
> @@ -451,7 +451,6 @@
>   $ hg init j
>   $ hg -R j branch a
>   marked working directory as branch a
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo init > j/foo
>   $ hg -R j ci -Am init
>   adding foo
> @@ -526,7 +525,6 @@
>   $ cd n
>   $ hg branch A
>   marked working directory as branch A
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo a >a
>   $ hg ci -Ama
>   adding a
> @@ -605,7 +603,6 @@
>   $ cd o
>   $ hg branch A
>   marked working directory as branch A
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo a >a
>   $ hg ci -Ama
>   adding a
> @@ -693,7 +690,6 @@
>   $ cd p
>   $ hg branch A
>   marked working directory as branch A
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo a0 >a
>   $ hg ci -Ama0
>   adding a
> @@ -718,7 +714,6 @@
>   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
>   $ hg branch -f B
>   marked working directory as branch B
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo a3 >a
>   $ hg ci -ma3
>   created new head
> @@ -726,7 +721,6 @@
>   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
>   $ hg branch -f A
>   marked working directory as branch A
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo b3 >b
>   $ hg ci -mb3
>   created new head
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-rebase-cache.t
> --- a/tests/test-rebase-cache.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-rebase-cache.t    Fri May 22 17:08:59 2015 -0500
> @@ -31,7 +31,6 @@
> 
>   $ hg branch branch2
>   marked working directory as branch branch2
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg ci -m 'branch2'
> 
>   $ echo c > C
> @@ -42,7 +41,6 @@
> 
>   $ hg branch -f branch2
>   marked working directory as branch branch2
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo d > d
>   $ hg ci -Am D
>   adding d
> @@ -57,7 +55,6 @@
> 
>   $ hg branch branch3
>   marked working directory as branch branch3
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg ci -m 'branch3'
> 
>   $ echo f > f
> @@ -303,7 +300,6 @@
> 
>   $ hg branch branch1
>   marked working directory as branch branch1
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg ci -m 'branch1'
> 
>   $ hg branch branch2
> @@ -313,7 +309,6 @@
> 
>   $ hg branch -f branch1
>   marked working directory as branch branch1
> -  (branches are permanent and global, did you want a bookmark?)
> 
>   $ echo a > A
>   $ hg ci -Am A
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-rebase-collapse.t
> --- a/tests/test-rebase-collapse.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-rebase-collapse.t    Fri May 22 17:08:59 2015 -0500
> @@ -571,7 +571,6 @@
> 
>   $ hg branch 'two'
>   marked working directory as branch two
> -  (branches are permanent and global, did you want a bookmark?)
>   $ echo 'c' > c
>   $ hg ci -Am 'C'
>   adding c
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-rebase-named-branches.t
> --- a/tests/test-rebase-named-branches.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-rebase-named-branches.t    Fri May 22 17:08:59 2015 -0500
> @@ -36,7 +36,6 @@
>   2 files updated, 0 files merged, 3 files removed, 0 files unresolved
>   $ hg branch dev-two
>   marked working directory as branch dev-two
> -  (branches are permanent and global, did you want a bookmark?)
> 
>   $ echo x > x
> 
> @@ -128,7 +127,6 @@
>   3 files updated, 0 files merged, 3 files removed, 0 files unresolved
>   $ hg branch dev-one
>   marked working directory as branch dev-one
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg ci -m 'dev-one named branch'
> 
>   $ hg tglog
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-revset.t
> --- a/tests/test-revset.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-revset.t    Fri May 22 17:08:59 2015 -0500
> @@ -37,7 +37,6 @@
>   $ echo a > a
>   $ hg branch a
>   marked working directory as branch a
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg ci -Aqm0
> 
>   $ echo b > b
> @@ -49,7 +48,6 @@
>   $ rm a
>   $ hg branch a-b-c-
>   marked working directory as branch a-b-c-
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg ci -Aqm2 -u Bob
> 
>   $ hg log -r "extra('branch', 'a-b-c-')" --template '{rev}\n'
> @@ -66,7 +64,6 @@
>   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
>   $ hg branch +a+b+c+
>   marked working directory as branch +a+b+c+
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg ci -Aqm3
> 
>   $ hg co 2  # interleave
> @@ -74,14 +71,12 @@
>   $ echo bb > b
>   $ hg branch -- -a-b-c-
>   marked working directory as branch -a-b-c-
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg ci -Aqm4 -d "May 12 2005"
> 
>   $ hg co 3
>   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
>   $ hg branch !a/b/c/
>   marked working directory as branch !a/b/c/
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg ci -Aqm"5 bug"
> 
>   $ hg merge 4
> @@ -89,23 +84,19 @@
>   (branch merge, don't forget to commit)
>   $ hg branch _a_b_c_
>   marked working directory as branch _a_b_c_
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg ci -Aqm"6 issue619"
> 
>   $ hg branch .a.b.c.
>   marked working directory as branch .a.b.c.
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg ci -Aqm7
> 
>   $ hg branch all
>   marked working directory as branch all
> -  (branches are permanent and global, did you want a bookmark?)
> 
>   $ hg co 4
>   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
>   $ hg branch é
>   marked working directory as branch \xc3\xa9 (esc)
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg ci -Aqm9
> 
>   $ hg tag -r6 1.0
> diff -r 6ac860f700b5 -r da0105aee52a tests/test-verify.t
> --- a/tests/test-verify.t    Tue May 26 14:52:47 2015 -0500
> +++ b/tests/test-verify.t    Fri May 22 17:08:59 2015 -0500
> @@ -67,7 +67,6 @@
>   $ cd b
>   $ hg branch foo
>   marked working directory as branch foo
> -  (branches are permanent and global, did you want a bookmark?)
>   $ hg ci -m branchfoo
>   $ hg verify
>   checking changesets
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel@selenic.com
> https://selenic.com/mailman/listinfo/mercurial-devel
Matt Mackall - May 27, 2015, 9:52 p.m.
On Wed, 2015-05-27 at 07:51 -0700, Gregory Szorc wrote:
> > On May 26, 2015, at 13:02, Matt Mackall <mpm@selenic.com> wrote:
> > 
> > # HG changeset patch
> > # User Matt Mackall <mpm@selenic.com>
> > # Date 1432332539 18000
> > #      Fri May 22 17:08:59 2015 -0500
> > # Node ID da0105aee52a058e03db3e9c9a187962efc0c7db
> > # Parent  6ac860f700b5cfeda232d5305963047696b869ca
> > branch: don't warn about branches if repository has multiple branches already
> > 
> > This warning exists to prevent git users from prematurely polluting
> > their namespace when trying out Mercurial. But for repos that already
> > have multiple branches, understanding what branches are is not
> > optional so we should just shut up.
> > 
> 
> I'm not crazy about this. All it takes is one person in the history of
> the repo to create a branch to cause this warning to disappear. The
> probability of this approaches 1 over time. This change pretty much
> guarantees that first time hg users on existing repos won't see the
> warning.

I was worried that this was your oblique way to say "this patch
accidentally takes closed branches into account", and indeed this is
true. So I've updated the patch to check for at least one open branch
not named default to disable the warning.
Gregory Szorc - May 27, 2015, 11:35 p.m.
On Wed, May 27, 2015 at 2:52 PM, Matt Mackall <mpm@selenic.com> wrote:

> On Wed, 2015-05-27 at 07:51 -0700, Gregory Szorc wrote:
> > > On May 26, 2015, at 13:02, Matt Mackall <mpm@selenic.com> wrote:
> > >
> > > # HG changeset patch
> > > # User Matt Mackall <mpm@selenic.com>
> > > # Date 1432332539 18000
> > > #      Fri May 22 17:08:59 2015 -0500
> > > # Node ID da0105aee52a058e03db3e9c9a187962efc0c7db
> > > # Parent  6ac860f700b5cfeda232d5305963047696b869ca
> > > branch: don't warn about branches if repository has multiple branches
> already
> > >
> > > This warning exists to prevent git users from prematurely polluting
> > > their namespace when trying out Mercurial. But for repos that already
> > > have multiple branches, understanding what branches are is not
> > > optional so we should just shut up.
> > >
> >
> > I'm not crazy about this. All it takes is one person in the history of
> > the repo to create a branch to cause this warning to disappear. The
> > probability of this approaches 1 over time. This change pretty much
> > guarantees that first time hg users on existing repos won't see the
> > warning.
>
> I was worried that this was your oblique way to say "this patch
> accidentally takes closed branches into account", and indeed this is
> true. So I've updated the patch to check for at least one open branch
> not named default to disable the warning.
>

Taking count of open branches into account assuages some of my concerns. I
still don't think it's great. e.g. large projects may have long-running
open release branches. But it's better than v1.

It would be really nice if there was a concept of one time or at most N
time warnings for helpful messages like this. But designing said system is
scope bloat. I think the new version is good enough. Thanks for changing it.

Patch

diff -r 6ac860f700b5 -r da0105aee52a mercurial/commands.py
--- a/mercurial/commands.py	Tue May 26 14:52:47 2015 -0500
+++ b/mercurial/commands.py	Fri May 22 17:08:59 2015 -0500
@@ -1107,8 +1107,9 @@ 
             scmutil.checknewlabel(repo, label, 'branch')
             repo.dirstate.setbranch(label)
             ui.status(_('marked working directory as branch %s\n') % label)
-            ui.status(_('(branches are permanent and global, '
-                        'did you want a bookmark?)\n'))
+            if len(repo.branchmap()) == 1:
+                ui.status(_('(branches are permanent and global, '
+                            'did you want a bookmark?)\n'))
     finally:
         wlock.release()
 
diff -r 6ac860f700b5 -r da0105aee52a tests/test-backout.t
--- a/tests/test-backout.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-backout.t	Fri May 22 17:08:59 2015 -0500
@@ -389,7 +389,6 @@ 
   adding file1
   $ hg branch branch2
   marked working directory as branch branch2
-  (branches are permanent and global, did you want a bookmark?)
   $ echo branch2 > file2
   $ hg ci -d '2 0' -Am file2
   adding file2
diff -r 6ac860f700b5 -r da0105aee52a tests/test-bheads.t
--- a/tests/test-bheads.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-bheads.t	Fri May 22 17:08:59 2015 -0500
@@ -37,7 +37,6 @@ 
   $ hg add b
   $ hg branch b
   marked working directory as branch b
-  (branches are permanent and global, did you want a bookmark?)
   $ hg commit -m "Adding b branch"
   $ heads
   2: Adding b branch (b)
@@ -119,7 +118,6 @@ 
   $ hg add c
   $ hg branch c
   marked working directory as branch c
-  (branches are permanent and global, did you want a bookmark?)
   $ hg commit -m "Adding c branch"
   $ heads
   7: Adding c branch (c)
@@ -302,7 +300,6 @@ 
   $ hg up -q null
   $ hg branch -f b
   marked working directory as branch b
-  (branches are permanent and global, did you want a bookmark?)
   $ echo 1 > bb
   $ hg ci -Am "b4 (NN): new topo root for branch b"
   adding bb
@@ -317,7 +314,6 @@ 
 
   $ hg branch -f default
   marked working directory as branch default
-  (branches are permanent and global, did you want a bookmark?)
   $ echo 1 > aa
   $ hg ci -Am "a6 (BN): new branch root"
   adding aa
@@ -337,7 +333,6 @@ 
   $ hg merge -q 3
   $ hg branch -f default
   marked working directory as branch default
-  (branches are permanent and global, did you want a bookmark?)
   $ hg ci -m "a8 (BB): weird new branch root"
   created new head
 
diff -r 6ac860f700b5 -r da0105aee52a tests/test-branch-option.t
--- a/tests/test-branch-option.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-branch-option.t	Fri May 22 17:08:59 2015 -0500
@@ -4,7 +4,6 @@ 
   $ cd branch
   $ hg branch a
   marked working directory as branch a
-  (branches are permanent and global, did you want a bookmark?)
   $ echo a > foo
   $ hg ci -d '0 0' -Ama
   adding foo
@@ -38,14 +37,12 @@ 
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg --encoding utf-8 branch æ
   marked working directory as branch \xc3\xa6 (esc)
-  (branches are permanent and global, did you want a bookmark?)
   $ echo ae1 > foo
   $ hg ci -d '0 0' -mae1
   $ hg up 0
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg --encoding utf-8 branch -f æ
   marked working directory as branch \xc3\xa6 (esc)
-  (branches are permanent and global, did you want a bookmark?)
   $ echo ae2 > foo
   $ hg ci -d '0 0' -mae2
   created new head
@@ -53,7 +50,6 @@ 
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg branch -f b
   marked working directory as branch b
-  (branches are permanent and global, did you want a bookmark?)
   $ echo b2 > foo
   $ hg ci -d '0 0' -mb2
   created new head
diff -r 6ac860f700b5 -r da0105aee52a tests/test-branches.t
--- a/tests/test-branches.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-branches.t	Fri May 22 17:08:59 2015 -0500
@@ -13,7 +13,6 @@ 
 
   $ hg branch q
   marked working directory as branch q
-  (branches are permanent and global, did you want a bookmark?)
   $ echo 'aa' >a
   $ hg branch -C
   reset working directory to branch a
@@ -25,7 +24,6 @@ 
   $ hg add b
   $ hg branch b
   marked working directory as branch b
-  (branches are permanent and global, did you want a bookmark?)
   $ hg commit -d '2 0' -m "Adding b branch"
 
   $ echo 'bh1' >bh1
@@ -42,7 +40,6 @@ 
   $ hg add c
   $ hg branch c
   marked working directory as branch c
-  (branches are permanent and global, did you want a bookmark?)
   $ hg commit -d '5 0' -m "Adding c branch"
 
 reserved names
@@ -101,7 +98,6 @@ 
   $ 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
-  (branches are permanent and global, did you want a bookmark?)
   $ hg commit -d '6 0' -m "Adding d branch"
 
   $ hg branches
@@ -601,7 +597,6 @@ 
 cache is updated when committing
   $ hg branch i-will-regret-this
   marked working directory as branch i-will-regret-this
-  (branches are permanent and global, did you want a bookmark?)
   $ hg ci -m regrets
   $ f --size .hg/cache/rbc-*
   .hg/cache/rbc-names-v1: size=106
diff -r 6ac860f700b5 -r da0105aee52a tests/test-clone-update-order.t
--- a/tests/test-clone-update-order.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-clone-update-order.t	Fri May 22 17:08:59 2015 -0500
@@ -14,7 +14,6 @@ 
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ hg branch other
   marked working directory as branch other
-  (branches are permanent and global, did you want a bookmark?)
   $ echo good > bye
   $ hg commit -Am other
   adding bye
diff -r 6ac860f700b5 -r da0105aee52a tests/test-clone.t
--- a/tests/test-clone.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-clone.t	Fri May 22 17:08:59 2015 -0500
@@ -357,7 +357,6 @@ 
 
   $ hg -R ua branch @
   marked working directory as branch @
-  (branches are permanent and global, did you want a bookmark?)
   $ hg -R ua commit -m 'created branch @'
   $ hg clone ua atbranch
   updating to branch default
diff -r 6ac860f700b5 -r da0105aee52a tests/test-commit-amend.t
--- a/tests/test-commit-amend.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-commit-amend.t	Fri May 22 17:08:59 2015 -0500
@@ -373,7 +373,6 @@ 
   $ hg ci -m 'branch foo'
   $ hg branch default -f
   marked working directory as branch default
-  (branches are permanent and global, did you want a bookmark?)
   $ hg ci --amend -m 'back to default'
   saved backup bundle to $TESTTMP/.hg/strip-backup/8ac881fbf49d-fd962fef-amend-backup.hg (glob)
   $ hg branches
@@ -468,7 +467,6 @@ 
 
   $ hg branch a
   marked working directory as branch a
-  (branches are permanent and global, did you want a bookmark?)
   $ echo a >> a
   $ hg ci -ma
   $ hg ci --amend -m "a'"
@@ -848,7 +846,6 @@ 
   $ hg up -q default
   $ hg branch closewithamend
   marked working directory as branch closewithamend
-  (branches are permanent and global, did you want a bookmark?)
   $ echo foo > foo
   $ hg add foo
   $ hg ci -m..
@@ -860,7 +857,6 @@ 
 
   $ hg branch silliness
   marked working directory as branch silliness
-  (branches are permanent and global, did you want a bookmark?)
   $ echo b >> b
   $ hg ci --close-branch -m'open and close'
   abort: can only close branch heads
diff -r 6ac860f700b5 -r da0105aee52a tests/test-commit-multiple.t
--- a/tests/test-commit-multiple.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-commit-multiple.t	Fri May 22 17:08:59 2015 -0500
@@ -52,7 +52,6 @@ 
   1 files updated, 0 files merged, 2 files removed, 0 files unresolved
   $ hg branch release
   marked working directory as branch release
-  (branches are permanent and global, did you want a bookmark?)
   $ hg transplant 2 3
   applying [0-9a-f]{12} (re)
   [0-9a-f]{12} transplanted to [0-9a-f]{12} (re)
diff -r 6ac860f700b5 -r da0105aee52a tests/test-convert-clonebranches.t
--- a/tests/test-convert-clonebranches.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-convert-clonebranches.t	Fri May 22 17:08:59 2015 -0500
@@ -55,13 +55,11 @@ 
   $ cd source
   $ hg branch branch1
   marked working directory as branch branch1
-  (branches are permanent and global, did you want a bookmark?)
   $ echo a > file1
   $ hg ci -qAm c1
   $ hg up -qC mergeab
   $ hg branch branch2
   marked working directory as branch branch2
-  (branches are permanent and global, did you want a bookmark?)
   $ echo a > file2
   $ hg ci -qAm c2
   $ hg merge branch1
@@ -69,7 +67,6 @@ 
   (branch merge, don't forget to commit)
   $ hg branch branch3
   marked working directory as branch branch3
-  (branches are permanent and global, did you want a bookmark?)
   $ hg ci -qAm c3
   $ cd ..
 
diff -r 6ac860f700b5 -r da0105aee52a tests/test-convert-datesort.t
--- a/tests/test-convert-datesort.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-convert-datesort.t	Fri May 22 17:08:59 2015 -0500
@@ -21,7 +21,6 @@ 
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg branch branchb
   marked working directory as branch branchb
-  (branches are permanent and global, did you want a bookmark?)
   $ echo b >> b
   $ hg ci -Am b0 -d '6 0'
   adding b
@@ -42,7 +41,6 @@ 
   $ echo c >> c
   $ hg branch branchc
   marked working directory as branch branchc
-  (branches are permanent and global, did you want a bookmark?)
   $ hg ci -Am c0 -d '10 0'
   adding c
   $ hg up -C brancha
diff -r 6ac860f700b5 -r da0105aee52a tests/test-convert-filemap.t
--- a/tests/test-convert-filemap.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-convert-filemap.t	Fri May 22 17:08:59 2015 -0500
@@ -350,7 +350,6 @@ 
   $ cd branchpruning
   $ hg branch foo
   marked working directory as branch foo
-  (branches are permanent and global, did you want a bookmark?)
   $ echo a > a
   $ hg ci -Am adda
   adding a
@@ -366,7 +365,6 @@ 
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg branch default
   marked working directory as branch default
-  (branches are permanent and global, did you want a bookmark?)
   $ echo b > b
   $ hg ci -Am addb
   adding b
diff -r 6ac860f700b5 -r da0105aee52a tests/test-encoding-align.t
--- a/tests/test-encoding-align.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-encoding-align.t	Fri May 22 17:08:59 2015 -0500
@@ -119,12 +119,10 @@ 
   $ hg book -f $S
   $ hg branch $M
   marked working directory as branch MIDDLE_
-  (branches are permanent and global, did you want a bookmark?)
   $ hg tag $M
   $ hg book -f $M
   $ hg branch $L
   marked working directory as branch \xe9\x95\xb7\xe3\x81\x84\xe9\x95\xb7\xe3\x81\x84\xe5\x90\x8d\xe5\x89\x8d (esc)
-  (branches are permanent and global, did you want a bookmark?)
   $ hg tag $L
   $ hg book -f $L
 
diff -r 6ac860f700b5 -r da0105aee52a tests/test-fetch.t
--- a/tests/test-fetch.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-fetch.t	Fri May 22 17:08:59 2015 -0500
@@ -168,7 +168,6 @@ 
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg -R nbase branch b
   marked working directory as branch b
-  (branches are permanent and global, did you want a bookmark?)
   $ echo b > nbase/b
   $ hg -R nbase ci -Am b
   adding b
@@ -363,7 +362,6 @@ 
   adding b
   $ hg --cwd ib1 branch -f default
   marked working directory as branch default
-  (branches are permanent and global, did you want a bookmark?)
   $ echo c > ib1/c
   $ hg --cwd ib1 ci -Am newdefault
   adding c
diff -r 6ac860f700b5 -r da0105aee52a tests/test-hgweb-commands.t
--- a/tests/test-hgweb-commands.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-hgweb-commands.t	Fri May 22 17:08:59 2015 -0500
@@ -26,7 +26,6 @@ 
   $ hg ci -Ambranch
   $ hg branch unstable
   marked working directory as branch unstable
-  (branches are permanent and global, did you want a bookmark?)
   >>> open('msg', 'wb').write('branch commit with null character: \0\n')
   $ hg ci -l msg
   $ rm msg
diff -r 6ac860f700b5 -r da0105aee52a tests/test-http-branchmap.t
--- a/tests/test-http-branchmap.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-http-branchmap.t	Fri May 22 17:08:59 2015 -0500
@@ -10,7 +10,6 @@ 
   $ hg init a
   $ hg --encoding utf-8 -R a branch æ
   marked working directory as branch \xc3\xa6 (esc)
-  (branches are permanent and global, did you want a bookmark?)
   $ echo foo > a/foo
   $ hg -R a ci -Am foo
   adding foo
diff -r 6ac860f700b5 -r da0105aee52a tests/test-newbranch.t
--- a/tests/test-newbranch.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-newbranch.t	Fri May 22 17:08:59 2015 -0500
@@ -25,7 +25,6 @@ 
   $ hg ci -m "add branch name"
   $ hg branch bar
   marked working directory as branch bar
-  (branches are permanent and global, did you want a bookmark?)
   $ hg ci -m "change branch name"
 
 Branch shadowing:
@@ -37,7 +36,6 @@ 
 
   $ hg branch -f default
   marked working directory as branch default
-  (branches are permanent and global, did you want a bookmark?)
 
   $ hg ci -m "clear branch name"
   created new head
@@ -67,11 +65,9 @@ 
 
   $ hg branch -f bar
   marked working directory as branch bar
-  (branches are permanent and global, did you want a bookmark?)
 
   $ hg branch foo
   marked working directory as branch foo
-  (branches are permanent and global, did you want a bookmark?)
 
   $ echo bleah > a
   $ hg ci -m "modify a branch"
@@ -94,13 +90,11 @@ 
 
   $ hg branch default
   marked working directory as branch default
-  (branches are permanent and global, did you want a bookmark?)
 
  set (first) parent branch as branch name
 
   $ hg branch foo
   marked working directory as branch foo
-  (branches are permanent and global, did you want a bookmark?)
 
   $ hg ci -m "merge"
 
@@ -215,7 +209,6 @@ 
 
   $ hg branch foobar
   marked working directory as branch foobar
-  (branches are permanent and global, did you want a bookmark?)
 
   $ hg up
   abort: branch foobar not found
@@ -225,7 +218,6 @@ 
 
   $ hg branch ff
   marked working directory as branch ff
-  (branches are permanent and global, did you want a bookmark?)
 
   $ echo ff > ff
   $ hg ci -Am'fast forward'
diff -r 6ac860f700b5 -r da0105aee52a tests/test-pull-branch.t
--- a/tests/test-pull-branch.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-pull-branch.t	Fri May 22 17:08:59 2015 -0500
@@ -33,7 +33,6 @@ 
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg branch branchB
   marked working directory as branch branchB
-  (branches are permanent and global, did you want a bookmark?)
   $ echo b1 > foo
   $ hg ci -mb1 # 3
 
@@ -141,7 +140,6 @@ 
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg branch branchC
   marked working directory as branch branchC
-  (branches are permanent and global, did you want a bookmark?)
   $ echo b1 > bar
   $ hg ci -Am "commit on branchC on tt"
   adding bar
diff -r 6ac860f700b5 -r da0105aee52a tests/test-push-warn.t
--- a/tests/test-push-warn.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-push-warn.t	Fri May 22 17:08:59 2015 -0500
@@ -451,7 +451,6 @@ 
   $ hg init j
   $ hg -R j branch a
   marked working directory as branch a
-  (branches are permanent and global, did you want a bookmark?)
   $ echo init > j/foo
   $ hg -R j ci -Am init
   adding foo
@@ -526,7 +525,6 @@ 
   $ cd n
   $ hg branch A
   marked working directory as branch A
-  (branches are permanent and global, did you want a bookmark?)
   $ echo a >a
   $ hg ci -Ama
   adding a
@@ -605,7 +603,6 @@ 
   $ cd o
   $ hg branch A
   marked working directory as branch A
-  (branches are permanent and global, did you want a bookmark?)
   $ echo a >a
   $ hg ci -Ama
   adding a
@@ -693,7 +690,6 @@ 
   $ cd p
   $ hg branch A
   marked working directory as branch A
-  (branches are permanent and global, did you want a bookmark?)
   $ echo a0 >a
   $ hg ci -Ama0
   adding a
@@ -718,7 +714,6 @@ 
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ hg branch -f B
   marked working directory as branch B
-  (branches are permanent and global, did you want a bookmark?)
   $ echo a3 >a
   $ hg ci -ma3
   created new head
@@ -726,7 +721,6 @@ 
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ hg branch -f A
   marked working directory as branch A
-  (branches are permanent and global, did you want a bookmark?)
   $ echo b3 >b
   $ hg ci -mb3
   created new head
diff -r 6ac860f700b5 -r da0105aee52a tests/test-rebase-cache.t
--- a/tests/test-rebase-cache.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-rebase-cache.t	Fri May 22 17:08:59 2015 -0500
@@ -31,7 +31,6 @@ 
 
   $ hg branch branch2
   marked working directory as branch branch2
-  (branches are permanent and global, did you want a bookmark?)
   $ hg ci -m 'branch2'
 
   $ echo c > C
@@ -42,7 +41,6 @@ 
 
   $ hg branch -f branch2
   marked working directory as branch branch2
-  (branches are permanent and global, did you want a bookmark?)
   $ echo d > d
   $ hg ci -Am D
   adding d
@@ -57,7 +55,6 @@ 
 
   $ hg branch branch3
   marked working directory as branch branch3
-  (branches are permanent and global, did you want a bookmark?)
   $ hg ci -m 'branch3'
 
   $ echo f > f
@@ -303,7 +300,6 @@ 
 
   $ hg branch branch1
   marked working directory as branch branch1
-  (branches are permanent and global, did you want a bookmark?)
   $ hg ci -m 'branch1'
 
   $ hg branch branch2
@@ -313,7 +309,6 @@ 
 
   $ hg branch -f branch1
   marked working directory as branch branch1
-  (branches are permanent and global, did you want a bookmark?)
 
   $ echo a > A
   $ hg ci -Am A
diff -r 6ac860f700b5 -r da0105aee52a tests/test-rebase-collapse.t
--- a/tests/test-rebase-collapse.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-rebase-collapse.t	Fri May 22 17:08:59 2015 -0500
@@ -571,7 +571,6 @@ 
 
   $ hg branch 'two'
   marked working directory as branch two
-  (branches are permanent and global, did you want a bookmark?)
   $ echo 'c' > c
   $ hg ci -Am 'C'
   adding c
diff -r 6ac860f700b5 -r da0105aee52a tests/test-rebase-named-branches.t
--- a/tests/test-rebase-named-branches.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-rebase-named-branches.t	Fri May 22 17:08:59 2015 -0500
@@ -36,7 +36,6 @@ 
   2 files updated, 0 files merged, 3 files removed, 0 files unresolved
   $ hg branch dev-two
   marked working directory as branch dev-two
-  (branches are permanent and global, did you want a bookmark?)
 
   $ echo x > x
 
@@ -128,7 +127,6 @@ 
   3 files updated, 0 files merged, 3 files removed, 0 files unresolved
   $ hg branch dev-one
   marked working directory as branch dev-one
-  (branches are permanent and global, did you want a bookmark?)
   $ hg ci -m 'dev-one named branch'
 
   $ hg tglog
diff -r 6ac860f700b5 -r da0105aee52a tests/test-revset.t
--- a/tests/test-revset.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-revset.t	Fri May 22 17:08:59 2015 -0500
@@ -37,7 +37,6 @@ 
   $ echo a > a
   $ hg branch a
   marked working directory as branch a
-  (branches are permanent and global, did you want a bookmark?)
   $ hg ci -Aqm0
 
   $ echo b > b
@@ -49,7 +48,6 @@ 
   $ rm a
   $ hg branch a-b-c-
   marked working directory as branch a-b-c-
-  (branches are permanent and global, did you want a bookmark?)
   $ hg ci -Aqm2 -u Bob
 
   $ hg log -r "extra('branch', 'a-b-c-')" --template '{rev}\n'
@@ -66,7 +64,6 @@ 
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg branch +a+b+c+
   marked working directory as branch +a+b+c+
-  (branches are permanent and global, did you want a bookmark?)
   $ hg ci -Aqm3
 
   $ hg co 2  # interleave
@@ -74,14 +71,12 @@ 
   $ echo bb > b
   $ hg branch -- -a-b-c-
   marked working directory as branch -a-b-c-
-  (branches are permanent and global, did you want a bookmark?)
   $ hg ci -Aqm4 -d "May 12 2005"
 
   $ hg co 3
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg branch !a/b/c/
   marked working directory as branch !a/b/c/
-  (branches are permanent and global, did you want a bookmark?)
   $ hg ci -Aqm"5 bug"
 
   $ hg merge 4
@@ -89,23 +84,19 @@ 
   (branch merge, don't forget to commit)
   $ hg branch _a_b_c_
   marked working directory as branch _a_b_c_
-  (branches are permanent and global, did you want a bookmark?)
   $ hg ci -Aqm"6 issue619"
 
   $ hg branch .a.b.c.
   marked working directory as branch .a.b.c.
-  (branches are permanent and global, did you want a bookmark?)
   $ hg ci -Aqm7
 
   $ hg branch all
   marked working directory as branch all
-  (branches are permanent and global, did you want a bookmark?)
 
   $ hg co 4
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg branch é
   marked working directory as branch \xc3\xa9 (esc)
-  (branches are permanent and global, did you want a bookmark?)
   $ hg ci -Aqm9
 
   $ hg tag -r6 1.0
diff -r 6ac860f700b5 -r da0105aee52a tests/test-verify.t
--- a/tests/test-verify.t	Tue May 26 14:52:47 2015 -0500
+++ b/tests/test-verify.t	Fri May 22 17:08:59 2015 -0500
@@ -67,7 +67,6 @@ 
   $ cd b
   $ hg branch foo
   marked working directory as branch foo
-  (branches are permanent and global, did you want a bookmark?)
   $ hg ci -m branchfoo
   $ hg verify
   checking changesets