diff -r a321304269cf -r 69983adfed06 mercurial/revlogutils/debug.py --- a/mercurial/revlogutils/debug.py Wed Jun 01 00:59:44 2022 +0200 +++ b/mercurial/revlogutils/debug.py Wed Jun 01 00:54:19 2022 +0200 @@ -22,12 +22,13 @@ class _column_base: """constains the definition of a revlog column - name: the column header, - value_func: the function called to get a value, - size: the width of the column. + name: the column header, + value_func: the function called to get a value, + size: the width of the column, + verbose_only: only include the column in verbose mode. """ - def __init__(self, name, value_func, size=None): + def __init__(self, name, value_func, size=None, verbose=False): self.name = name self.value_func = value_func if size is not NODE_SIZE: @@ -35,6 +36,7 @@ size = 8 # arbitrary default size = max(len(name), size) self._size = size + self.verbose_only = verbose def get_size(self, node_size): if self._size is NODE_SIZE: @@ -43,7 +45,7 @@ return self._size -def debug_column(name, size=None): +def debug_column(name, size=None, verbose=False): """decorated function is registered as a column name: the name of the column, @@ -55,6 +57,7 @@ name=name, value_func=func, size=size, + verbose=verbose, ) INDEX_ENTRY_DEBUG_COLUMN.append(entry) return entry @@ -113,6 +116,8 @@ header_pieces = [] for column in INDEX_ENTRY_DEBUG_COLUMN: + if column.verbose_only and not ui.verbose: + continue size = column.get_size(idlen) name = column.name header_pieces.append(name.rjust(size)) @@ -126,6 +131,8 @@ entry = index[rev] first = True for column in INDEX_ENTRY_DEBUG_COLUMN: + if column.verbose_only and not ui.verbose: + continue if not first: fm.plain(b' ') first = False