##// END OF EJS Templates
debugindex: introduce a concept of "verbose-only" column...
marmoute -
r50149:69983adf default
parent child Browse files
Show More
@@ -22,12 +22,13 b' NODE_SIZE = object()'
22 class _column_base:
22 class _column_base:
23 """constains the definition of a revlog column
23 """constains the definition of a revlog column
24
24
25 name: the column header,
25 name: the column header,
26 value_func: the function called to get a value,
26 value_func: the function called to get a value,
27 size: the width of the column.
27 size: the width of the column,
28 verbose_only: only include the column in verbose mode.
28 """
29 """
29
30
30 def __init__(self, name, value_func, size=None):
31 def __init__(self, name, value_func, size=None, verbose=False):
31 self.name = name
32 self.name = name
32 self.value_func = value_func
33 self.value_func = value_func
33 if size is not NODE_SIZE:
34 if size is not NODE_SIZE:
@@ -35,6 +36,7 b' class _column_base:'
35 size = 8 # arbitrary default
36 size = 8 # arbitrary default
36 size = max(len(name), size)
37 size = max(len(name), size)
37 self._size = size
38 self._size = size
39 self.verbose_only = verbose
38
40
39 def get_size(self, node_size):
41 def get_size(self, node_size):
40 if self._size is NODE_SIZE:
42 if self._size is NODE_SIZE:
@@ -43,7 +45,7 b' class _column_base:'
43 return self._size
45 return self._size
44
46
45
47
46 def debug_column(name, size=None):
48 def debug_column(name, size=None, verbose=False):
47 """decorated function is registered as a column
49 """decorated function is registered as a column
48
50
49 name: the name of the column,
51 name: the name of the column,
@@ -55,6 +57,7 b' def debug_column(name, size=None):'
55 name=name,
57 name=name,
56 value_func=func,
58 value_func=func,
57 size=size,
59 size=size,
60 verbose=verbose,
58 )
61 )
59 INDEX_ENTRY_DEBUG_COLUMN.append(entry)
62 INDEX_ENTRY_DEBUG_COLUMN.append(entry)
60 return entry
63 return entry
@@ -113,6 +116,8 b' def debug_index('
113
116
114 header_pieces = []
117 header_pieces = []
115 for column in INDEX_ENTRY_DEBUG_COLUMN:
118 for column in INDEX_ENTRY_DEBUG_COLUMN:
119 if column.verbose_only and not ui.verbose:
120 continue
116 size = column.get_size(idlen)
121 size = column.get_size(idlen)
117 name = column.name
122 name = column.name
118 header_pieces.append(name.rjust(size))
123 header_pieces.append(name.rjust(size))
@@ -126,6 +131,8 b' def debug_index('
126 entry = index[rev]
131 entry = index[rev]
127 first = True
132 first = True
128 for column in INDEX_ENTRY_DEBUG_COLUMN:
133 for column in INDEX_ENTRY_DEBUG_COLUMN:
134 if column.verbose_only and not ui.verbose:
135 continue
129 if not first:
136 if not first:
130 fm.plain(b' ')
137 fm.plain(b' ')
131 first = False
138 first = False
@@ -40,6 +40,18 b' Check data can be written/read from side'
40 entry-0001 size 4
40 entry-0001 size 4
41 entry-0002 size 32
41 entry-0002 size 32
42
42
43 $ hg debug-revlog-index --verbose -c
44 rev linkrev nodeid p1-nodeid p2-nodeid
45 0 0 7049e48789d7 000000000000 000000000000
46 1 1 2707720c6597 7049e48789d7 000000000000
47 2 2 40f977031323 2707720c6597 000000000000
48
49 $ hg debug-revlog-index --verbose -m
50 rev linkrev nodeid p1-nodeid p2-nodeid
51 0 0 b85d294330e3 000000000000 000000000000
52 1 1 1a0aec305c63 b85d294330e3 000000000000
53 2 2 104258a4f75f 1a0aec305c63 000000000000
54
43 Check upgrade behavior
55 Check upgrade behavior
44 ======================
56 ======================
45
57
General Comments 0
You need to be logged in to leave comments. Login now