comparison mercurial/debugcommands.py @ 50561:1ea84989c389

safehasattr: pass attribute name as string instead of bytes This is a step toward replacing `util.safehasattr` usage with plain `hasattr`. The builtin function behave poorly in Python2 but this was fixed in Python3. These change are done one by one as they tend to have a small odd to trigger puzzling breackage.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Thu, 02 Feb 2023 17:23:03 +0100
parents 8020be6a9d28
children 88362b8bc476
comparison
equal deleted inserted replaced
50560:8020be6a9d28 50561:1ea84989c389
1941 @command(b'debugindexstats', []) 1941 @command(b'debugindexstats', [])
1942 def debugindexstats(ui, repo): 1942 def debugindexstats(ui, repo):
1943 """show stats related to the changelog index""" 1943 """show stats related to the changelog index"""
1944 repo.changelog.shortest(repo.nullid, 1) 1944 repo.changelog.shortest(repo.nullid, 1)
1945 index = repo.changelog.index 1945 index = repo.changelog.index
1946 if not util.safehasattr(index, b'stats'): 1946 if not util.safehasattr(index, 'stats'):
1947 raise error.Abort(_(b'debugindexstats only works with native code')) 1947 raise error.Abort(_(b'debugindexstats only works with native code'))
1948 for k, v in sorted(index.stats().items()): 1948 for k, v in sorted(index.stats().items()):
1949 ui.write(b'%s: %d\n' % (k, v)) 1949 ui.write(b'%s: %d\n' % (k, v))
1950 1950
1951 1951