Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/commands.py @ 17984:b74361cf7c0a stable
update: allow update to existing branches with invalid names (issue3710)
Starting with 361ab1e2086f, users are no longer able to update a
working copy to a branch named with a "bad" character (such as ':').
Prior to v2.4, it was possible to create branch names using "bad"
characters, so this breaks backwards compatibility.
Mercurial must allow users to update to existing branches with bad
names. However, it should continue to prevent the creation of new
branches with bad names.
A test was added to confirm that 'hg update' works as expected. The
test uses a bundled repo that was created with an earlier version of
Mercurial.
author | Tim Henigan <tim.henigan@gmail.com> |
---|---|
date | Tue, 27 Nov 2012 08:47:35 -0500 |
parents | e689b0d91546 |
children | e853d27956fb 730b769fb634 |
comparison
equal
deleted
inserted
replaced
17981:e689b0d91546 | 17984:b74361cf7c0a |
---|---|
922 if label not in [p.branch() for p in repo.parents()]: | 922 if label not in [p.branch() for p in repo.parents()]: |
923 raise util.Abort(_('a branch of the same name already' | 923 raise util.Abort(_('a branch of the same name already' |
924 ' exists'), | 924 ' exists'), |
925 # i18n: "it" refers to an existing branch | 925 # i18n: "it" refers to an existing branch |
926 hint=_("use 'hg update' to switch to it")) | 926 hint=_("use 'hg update' to switch to it")) |
927 scmutil.checknewlabel(None, label, 'branch') | |
927 repo.dirstate.setbranch(label) | 928 repo.dirstate.setbranch(label) |
928 ui.status(_('marked working directory as branch %s\n') % label) | 929 ui.status(_('marked working directory as branch %s\n') % label) |
929 ui.status(_('(branches are permanent and global, ' | 930 ui.status(_('(branches are permanent and global, ' |
930 'did you want a bookmark?)\n')) | 931 'did you want a bookmark?)\n')) |
931 finally: | 932 finally: |