mercurial/debugcommands.py
changeset 39081 195ed920653e
parent 39080 5c99486fcfe1
child 39082 a456c603a83d
equal deleted inserted replaced
39080:5c99486fcfe1 39081:195ed920653e
  2087 
  2087 
  2088     ### tracks merge vs single parent
  2088     ### tracks merge vs single parent
  2089     nummerges = 0
  2089     nummerges = 0
  2090 
  2090 
  2091     ### tracks ways the "delta" are build
  2091     ### tracks ways the "delta" are build
       
  2092     # nodelta
       
  2093     numempty = 0
  2092     # full file content
  2094     # full file content
  2093     numfull = 0
  2095     numfull = 0
  2094     # delta against previous revision
  2096     # delta against previous revision
  2095     numprev = 0
  2097     numprev = 0
  2096     # delta against first or second parent (not prev)
  2098     # delta against first or second parent (not prev)
  2133         size = r.length(rev)
  2135         size = r.length(rev)
  2134         if delta == nullrev:
  2136         if delta == nullrev:
  2135             chainlengths.append(0)
  2137             chainlengths.append(0)
  2136             chainbases.append(r.start(rev))
  2138             chainbases.append(r.start(rev))
  2137             chainspans.append(size)
  2139             chainspans.append(size)
  2138             numfull += 1
  2140             if size == 0:
  2139             addsize(size, fullsize)
  2141                 numempty += 1
       
  2142             else:
       
  2143                 numfull += 1
       
  2144                 addsize(size, fullsize)
  2140         else:
  2145         else:
  2141             chainlengths.append(chainlengths[delta] + 1)
  2146             chainlengths.append(chainlengths[delta] + 1)
  2142             baseaddr = chainbases[delta]
  2147             baseaddr = chainbases[delta]
  2143             revaddr = r.start(rev)
  2148             revaddr = r.start(rev)
  2144             chainbases.append(baseaddr)
  2149             chainbases.append(baseaddr)
  2145             chainspans.append((revaddr - baseaddr) + size)
  2150             chainspans.append((revaddr - baseaddr) + size)
  2146             addsize(size, deltasize)
  2151             if size == 0:
  2147             if delta == rev - 1:
  2152                 numempty += 1
  2148                 numprev += 1
  2153             else:
  2149                 if delta == p1:
  2154                 addsize(size, deltasize)
  2150                     nump1prev += 1
  2155                 if delta == rev - 1:
       
  2156                     numprev += 1
       
  2157                     if delta == p1:
       
  2158                         nump1prev += 1
       
  2159                     elif delta == p2:
       
  2160                         nump2prev += 1
       
  2161                 elif delta == p1:
       
  2162                     nump1 += 1
  2151                 elif delta == p2:
  2163                 elif delta == p2:
  2152                     nump2prev += 1
  2164                     nump2 += 1
  2153             elif delta == p1:
  2165                 elif delta != nullrev:
  2154                 nump1 += 1
  2166                     numother += 1
  2155             elif delta == p2:
       
  2156                 nump2 += 1
       
  2157             elif delta != nullrev:
       
  2158                 numother += 1
       
  2159 
  2167 
  2160         # Obtain data on the raw chunks in the revlog.
  2168         # Obtain data on the raw chunks in the revlog.
  2161         segment = r._getsegmentforrevs(rev, rev)[1]
  2169         segment = r._getsegmentforrevs(rev, rev)[1]
  2162         if segment:
  2170         if segment:
  2163             chunktype = bytes(segment[0:1])
  2171             chunktype = bytes(segment[0:1])
  2174     # Adjust size min value for empty cases
  2182     # Adjust size min value for empty cases
  2175     for size in (datasize, fullsize, deltasize):
  2183     for size in (datasize, fullsize, deltasize):
  2176         if size[0] is None:
  2184         if size[0] is None:
  2177             size[0] = 0
  2185             size[0] = 0
  2178 
  2186 
  2179     numdeltas = numrevs - numfull
  2187     numdeltas = numrevs - numfull - numempty
  2180     numoprev = numprev - nump1prev - nump2prev
  2188     numoprev = numprev - nump1prev - nump2prev
  2181     totalrawsize = datasize[2]
  2189     totalrawsize = datasize[2]
  2182     datasize[2] /= numrevs
  2190     datasize[2] /= numrevs
  2183     fulltotal = fullsize[2]
  2191     fulltotal = fullsize[2]
  2184     fullsize[2] /= numfull
  2192     fullsize[2] /= numfull
  2185     deltatotal = deltasize[2]
  2193     deltatotal = deltasize[2]
  2186     if numrevs - numfull > 0:
  2194     if numdeltas > 0:
  2187         deltasize[2] /= numrevs - numfull
  2195         deltasize[2] /= numdeltas
  2188     totalsize = fulltotal + deltatotal
  2196     totalsize = fulltotal + deltatotal
  2189     avgchainlen = sum(chainlengths) / numrevs
  2197     avgchainlen = sum(chainlengths) / numrevs
  2190     maxchainlen = max(chainlengths)
  2198     maxchainlen = max(chainlengths)
  2191     maxchainspan = max(chainspans)
  2199     maxchainspan = max(chainspans)
  2192     compratio = 1
  2200     compratio = 1
  2215     fmt2 = dfmtstr(totalsize)
  2223     fmt2 = dfmtstr(totalsize)
  2216     ui.write(('revisions     : ') + fmt2 % numrevs)
  2224     ui.write(('revisions     : ') + fmt2 % numrevs)
  2217     ui.write(('    merges    : ') + fmt % pcfmt(nummerges, numrevs))
  2225     ui.write(('    merges    : ') + fmt % pcfmt(nummerges, numrevs))
  2218     ui.write(('    normal    : ') + fmt % pcfmt(numrevs - nummerges, numrevs))
  2226     ui.write(('    normal    : ') + fmt % pcfmt(numrevs - nummerges, numrevs))
  2219     ui.write(('revisions     : ') + fmt2 % numrevs)
  2227     ui.write(('revisions     : ') + fmt2 % numrevs)
       
  2228     ui.write(('    empty     : ') + fmt % pcfmt(numempty, numrevs))
  2220     ui.write(('    full      : ') + fmt % pcfmt(numfull, numrevs))
  2229     ui.write(('    full      : ') + fmt % pcfmt(numfull, numrevs))
  2221     ui.write(('    deltas    : ') + fmt % pcfmt(numdeltas, numrevs))
  2230     ui.write(('    deltas    : ') + fmt % pcfmt(numdeltas, numrevs))
  2222     ui.write(('revision size : ') + fmt2 % totalsize)
  2231     ui.write(('revision size : ') + fmt2 % totalsize)
  2223     ui.write(('    full      : ') + fmt % pcfmt(fulltotal, totalsize))
  2232     ui.write(('    full      : ') + fmt % pcfmt(fulltotal, totalsize))
  2224     ui.write(('    deltas    : ') + fmt % pcfmt(deltatotal, totalsize))
  2233     ui.write(('    deltas    : ') + fmt % pcfmt(deltatotal, totalsize))