Mercurial > hg
changeset 19180:12dbdd348bb0 stable
branch: strip whitespace before testing known branch name
Because dirstate._branch() strips leading/trailing spaces from .hg/branch,
"hg branch ' foo '" should abort if branch "foo" exists in another head.
tag command had a similar bug and fixed by 3d0a9c8d7184.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Tue, 07 May 2013 23:49:03 +0900 |
parents | bcdfb6078b9f |
children | 9d88916fb56f |
files | mercurial/commands.py tests/test-branches.t |
diffstat | 2 files changed, 15 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/commands.py Fri May 10 00:26:39 2013 +0400 +++ b/mercurial/commands.py Tue May 07 23:49:03 2013 +0900 @@ -943,6 +943,9 @@ Returns 0 on success. """ + if label: + label = label.strip() + if not opts.get('clean') and not label: ui.write("%s\n" % repo.dirstate.branch()) return
--- a/tests/test-branches.t Fri May 10 00:26:39 2013 +0400 +++ b/tests/test-branches.t Tue May 07 23:49:03 2013 +0900 @@ -68,6 +68,18 @@ abort: '\n' cannot be used in a name [255] +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] + verify update will accept invalid legacy branch names $ hg init test-invalid-branch-name