Show More
@@ -1855,6 +1855,103 b' def debugrename(ui, repo, file1, *pats, ' | |||||
1855 | else: |
|
1855 | else: | |
1856 | ui.write(_("%s not renamed\n") % rel) |
|
1856 | ui.write(_("%s not renamed\n") % rel) | |
1857 |
|
1857 | |||
|
1858 | @command('debugrevlog', [], _('FILE')) | |||
|
1859 | def debugrevlog(ui, repo, file_): | |||
|
1860 | """show data and statistics about a revlog""" | |||
|
1861 | r = None | |||
|
1862 | if repo: | |||
|
1863 | filelog = repo.file(file_) | |||
|
1864 | if len(filelog): | |||
|
1865 | r = filelog | |||
|
1866 | if not r: | |||
|
1867 | r = revlog.revlog(scmutil.opener(os.getcwd(), audit=False), file_) | |||
|
1868 | ||||
|
1869 | v = r.version | |||
|
1870 | format = v & 0xFFFF | |||
|
1871 | flags = [] | |||
|
1872 | gdelta = False | |||
|
1873 | if v & revlog.REVLOGNGINLINEDATA: | |||
|
1874 | flags.append('inline') | |||
|
1875 | if v & revlog.REVLOGGENERALDELTA: | |||
|
1876 | gdelta = True | |||
|
1877 | flags.append('generaldelta') | |||
|
1878 | ||||
|
1879 | nummerges = 0 | |||
|
1880 | numchains = 0 | |||
|
1881 | numprev = 0 | |||
|
1882 | nump1 = 0 | |||
|
1883 | nump2 = 0 | |||
|
1884 | numother = 0 | |||
|
1885 | nump1prev = 0 | |||
|
1886 | nump2prev = 0 | |||
|
1887 | ||||
|
1888 | datasize = [None, 0, 0L] | |||
|
1889 | snapshotsize = [None, 0, 0L] | |||
|
1890 | deltasize = [None, 0, 0L] | |||
|
1891 | ||||
|
1892 | def addsize(size, l): | |||
|
1893 | if l[0] is None or size < l[0]: | |||
|
1894 | l[0] = size | |||
|
1895 | if size > l[1]: | |||
|
1896 | l[1] = size | |||
|
1897 | l[2] += size | |||
|
1898 | ||||
|
1899 | numrevs = len(r) | |||
|
1900 | for rev in xrange(numrevs): | |||
|
1901 | p1, p2 = r.parentrevs(rev) | |||
|
1902 | delta = r.deltaparent(rev) | |||
|
1903 | if format > 0: | |||
|
1904 | addsize(r.rawsize(rev), datasize) | |||
|
1905 | if p2 != nullrev: | |||
|
1906 | nummerges += 1 | |||
|
1907 | size = r.length(rev) | |||
|
1908 | if delta == nullrev: | |||
|
1909 | numchains += 1 | |||
|
1910 | addsize(size, snapshotsize) | |||
|
1911 | else: | |||
|
1912 | addsize(size, deltasize) | |||
|
1913 | if gdelta: | |||
|
1914 | if delta == rev - 1: | |||
|
1915 | numprev += 1 | |||
|
1916 | if delta == p1: | |||
|
1917 | nump1prev += 1 | |||
|
1918 | elif delta == p2: | |||
|
1919 | nump2prev += 1 | |||
|
1920 | elif delta == p1: | |||
|
1921 | nump1 += 1 | |||
|
1922 | elif delta == p2: | |||
|
1923 | nump2 += 1 | |||
|
1924 | elif delta != nullrev: | |||
|
1925 | numother += 1 | |||
|
1926 | ||||
|
1927 | numotherprev = numprev - nump1prev - nump2prev | |||
|
1928 | datasize[2] /= numrevs | |||
|
1929 | snapshotsize[2] /= numchains | |||
|
1930 | deltasize[2] /= numrevs - numchains | |||
|
1931 | ||||
|
1932 | ui.write('format : %d\n' % format) | |||
|
1933 | ui.write('flags : %s\n' % ', '.join(flags)) | |||
|
1934 | ui.write('revisions : %d\n' % numrevs) | |||
|
1935 | ui.write('merges : %d\n' % nummerges) | |||
|
1936 | ui.write('chains : %d\n' % numchains) | |||
|
1937 | ||||
|
1938 | if format > 0: | |||
|
1939 | ui.write('\ndata size (min/max/avg) : %d / %d / %d\n' | |||
|
1940 | % tuple(datasize)) | |||
|
1941 | ui.write('compressed snapshot size (min/max/avg) : %d / %d / %d\n' | |||
|
1942 | % tuple(snapshotsize)) | |||
|
1943 | ui.write('compressed delta size (min/max/avg) : %d / %d / %d\n' | |||
|
1944 | % tuple(deltasize)) | |||
|
1945 | ||||
|
1946 | if gdelta: | |||
|
1947 | ui.write('\ndeltas against prev : %d\n' % numprev) | |||
|
1948 | ui.write(' ..where prev = p1 : %d\n' % nump1prev) | |||
|
1949 | ui.write(' ..where prev = p2 : %d\n' % nump2prev) | |||
|
1950 | ui.write(' ..other : %d\n' % numotherprev) | |||
|
1951 | ui.write('deltas against p1 : %d\n' % nump1) | |||
|
1952 | ui.write('deltas against p2 : %d\n' % nump2) | |||
|
1953 | ui.write('deltas against other : %d\n' % numother) | |||
|
1954 | ||||
1858 | @command('debugrevspec', [], ('REVSPEC')) |
|
1955 | @command('debugrevspec', [], ('REVSPEC')) | |
1859 | def debugrevspec(ui, repo, expr): |
|
1956 | def debugrevspec(ui, repo, expr): | |
1860 | '''parse and apply a revision specification''' |
|
1957 | '''parse and apply a revision specification''' |
@@ -86,6 +86,7 b' Show debug commands if there are no othe' | |||||
86 | debugpushkey |
|
86 | debugpushkey | |
87 | debugrebuildstate |
|
87 | debugrebuildstate | |
88 | debugrename |
|
88 | debugrename | |
|
89 | debugrevlog | |||
89 | debugrevspec |
|
90 | debugrevspec | |
90 | debugsetparents |
|
91 | debugsetparents | |
91 | debugstate |
|
92 | debugstate | |
@@ -231,6 +232,7 b' Show all commands + options' | |||||
231 | debugpushkey: |
|
232 | debugpushkey: | |
232 | debugrebuildstate: rev |
|
233 | debugrebuildstate: rev | |
233 | debugrename: rev |
|
234 | debugrename: rev | |
|
235 | debugrevlog: | |||
234 | debugrevspec: |
|
236 | debugrevspec: | |
235 | debugsetparents: |
|
237 | debugsetparents: | |
236 | debugstate: nodates, datesort |
|
238 | debugstate: nodates, datesort |
General Comments 0
You need to be logged in to leave comments.
Login now