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: