# HG changeset patch # User Pulkit Goyal # Date 1554469520 -10800 # Node ID d6437f4144377b0c4bc25798c8f072bce99835f0 # Parent be5eeaf5c24a05de19baac1cff09f5d65c7c7ebe 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 diff -r be5eeaf5c24a -r d6437f414437 mercurial/commands.py --- 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,