branch: return early if we find an open named branch apart from default
The current code builds a list of all the open named branches except default and
then bool that. This is mostly fine until you get a repo which has thousands of
named branches.
Differential Revision: https://phab.mercurial-scm.org/D6211
--- a/mercurial/commands.py Fri Apr 05 15:57:09 2019 +0300
+++ b/mercurial/commands.py Fri Apr 05 16:05:20 2019 +0300
@@ -1125,11 +1125,11 @@
ui.status(_('marked working directory as branch %s\n') % label)
# find any open named branches aside from default
- others = [n for n, h, t, c in repo.branchmap().iterbranches()
- if n != "default" and not c]
- if not others:
- ui.status(_('(branches are permanent and global, '
- 'did you want a bookmark?)\n'))
+ for n, h, t, c in repo.branchmap().iterbranches():
+ if n != "default" and not c:
+ return 0
+ ui.status(_('(branches are permanent and global, '
+ 'did you want a bookmark?)\n'))
@command('branches',
[('a', 'active', False,