1248 |
1248 |
1249 @command(b'debugfsinfo', [], _(b'[PATH]'), norepo=True) |
1249 @command(b'debugfsinfo', [], _(b'[PATH]'), norepo=True) |
1250 def debugfsinfo(ui, path=b"."): |
1250 def debugfsinfo(ui, path=b"."): |
1251 """show information detected about current filesystem""" |
1251 """show information detected about current filesystem""" |
1252 ui.writenoi18n(b'path: %s\n' % path) |
1252 ui.writenoi18n(b'path: %s\n' % path) |
1253 ui.writenoi18n(b'mounted on: %s\n' % (util.getfsmountpoint(path) or b'(unknown)')) |
1253 ui.writenoi18n( |
|
1254 b'mounted on: %s\n' % (util.getfsmountpoint(path) or b'(unknown)') |
|
1255 ) |
1254 ui.writenoi18n(b'exec: %s\n' % (util.checkexec(path) and b'yes' or b'no')) |
1256 ui.writenoi18n(b'exec: %s\n' % (util.checkexec(path) and b'yes' or b'no')) |
1255 ui.writenoi18n(b'fstype: %s\n' % (util.getfstype(path) or b'(unknown)')) |
1257 ui.writenoi18n(b'fstype: %s\n' % (util.getfstype(path) or b'(unknown)')) |
1256 ui.writenoi18n(b'symlink: %s\n' % (util.checklink(path) and b'yes' or b'no')) |
1258 ui.writenoi18n( |
1257 ui.writenoi18n(b'hardlink: %s\n' % (util.checknlink(path) and b'yes' or b'no')) |
1259 b'symlink: %s\n' % (util.checklink(path) and b'yes' or b'no') |
|
1260 ) |
|
1261 ui.writenoi18n( |
|
1262 b'hardlink: %s\n' % (util.checknlink(path) and b'yes' or b'no') |
|
1263 ) |
1258 casesensitive = b'(unknown)' |
1264 casesensitive = b'(unknown)' |
1259 try: |
1265 try: |
1260 with pycompat.namedtempfile(prefix=b'.debugfsinfo', dir=path) as f: |
1266 with pycompat.namedtempfile(prefix=b'.debugfsinfo', dir=path) as f: |
1261 casesensitive = util.fscasesensitive(f.name) and b'yes' or b'no' |
1267 casesensitive = util.fscasesensitive(f.name) and b'yes' or b'no' |
1262 except OSError: |
1268 except OSError: |
1936 ui.writenoi18n(b'local: %s\n' % record) |
1942 ui.writenoi18n(b'local: %s\n' % record) |
1937 elif rtype == b'O': |
1943 elif rtype == b'O': |
1938 ui.writenoi18n(b'other: %s\n' % record) |
1944 ui.writenoi18n(b'other: %s\n' % record) |
1939 elif rtype == b'm': |
1945 elif rtype == b'm': |
1940 driver, mdstate = record.split(b'\0', 1) |
1946 driver, mdstate = record.split(b'\0', 1) |
1941 ui.writenoi18n(b'merge driver: %s (state "%s")\n' % (driver, mdstate)) |
1947 ui.writenoi18n( |
|
1948 b'merge driver: %s (state "%s")\n' % (driver, mdstate) |
|
1949 ) |
1942 elif rtype in b'FDC': |
1950 elif rtype in b'FDC': |
1943 r = record.split(b'\0') |
1951 r = record.split(b'\0') |
1944 f, state, hash, lfile, afile, anode, ofile = r[0:7] |
1952 f, state, hash, lfile, afile, anode, ofile = r[0:7] |
1945 if version == 1: |
1953 if version == 1: |
1946 onode = b'not stored in v1 format' |
1954 onode = b'not stored in v1 format' |
1949 onode, flags = r[7:9] |
1957 onode, flags = r[7:9] |
1950 ui.writenoi18n( |
1958 ui.writenoi18n( |
1951 b'file: %s (record type "%s", state "%s", hash %s)\n' |
1959 b'file: %s (record type "%s", state "%s", hash %s)\n' |
1952 % (f, rtype, state, _hashornull(hash)) |
1960 % (f, rtype, state, _hashornull(hash)) |
1953 ) |
1961 ) |
1954 ui.writenoi18n(b' local path: %s (flags "%s")\n' % (lfile, flags)) |
1962 ui.writenoi18n( |
|
1963 b' local path: %s (flags "%s")\n' % (lfile, flags) |
|
1964 ) |
1955 ui.writenoi18n( |
1965 ui.writenoi18n( |
1956 b' ancestor path: %s (node %s)\n' |
1966 b' ancestor path: %s (node %s)\n' |
1957 % (afile, _hashornull(anode)) |
1967 % (afile, _hashornull(anode)) |
1958 ) |
1968 ) |
1959 ui.writenoi18n( |
1969 ui.writenoi18n( |
2795 ui.write(b'\n') |
2805 ui.write(b'\n') |
2796 fmt = pcfmtstr(totalsize) |
2806 fmt = pcfmtstr(totalsize) |
2797 fmt2 = dfmtstr(totalsize) |
2807 fmt2 = dfmtstr(totalsize) |
2798 ui.writenoi18n(b'revisions : ' + fmt2 % numrevs) |
2808 ui.writenoi18n(b'revisions : ' + fmt2 % numrevs) |
2799 ui.writenoi18n(b' merges : ' + fmt % pcfmt(nummerges, numrevs)) |
2809 ui.writenoi18n(b' merges : ' + fmt % pcfmt(nummerges, numrevs)) |
2800 ui.writenoi18n(b' normal : ' + fmt % pcfmt(numrevs - nummerges, numrevs)) |
2810 ui.writenoi18n( |
|
2811 b' normal : ' + fmt % pcfmt(numrevs - nummerges, numrevs) |
|
2812 ) |
2801 ui.writenoi18n(b'revisions : ' + fmt2 % numrevs) |
2813 ui.writenoi18n(b'revisions : ' + fmt2 % numrevs) |
2802 ui.writenoi18n(b' empty : ' + fmt % pcfmt(numempty, numrevs)) |
2814 ui.writenoi18n(b' empty : ' + fmt % pcfmt(numempty, numrevs)) |
2803 ui.writenoi18n( |
2815 ui.writenoi18n( |
2804 b' text : ' |
2816 b' text : ' |
2805 + fmt % pcfmt(numemptytext, numemptytext + numemptydelta) |
2817 + fmt % pcfmt(numemptytext, numemptytext + numemptydelta) |
2806 ) |
2818 ) |
2807 ui.writenoi18n( |
2819 ui.writenoi18n( |
2808 b' delta : ' |
2820 b' delta : ' |
2809 + fmt % pcfmt(numemptydelta, numemptytext + numemptydelta) |
2821 + fmt % pcfmt(numemptydelta, numemptytext + numemptydelta) |
2810 ) |
2822 ) |
2811 ui.writenoi18n(b' snapshot : ' + fmt % pcfmt(numfull + numsemi, numrevs)) |
2823 ui.writenoi18n( |
|
2824 b' snapshot : ' + fmt % pcfmt(numfull + numsemi, numrevs) |
|
2825 ) |
2812 for depth in sorted(numsnapdepth): |
2826 for depth in sorted(numsnapdepth): |
2813 ui.write( |
2827 ui.write( |
2814 (b' lvl-%-3d : ' % depth) |
2828 (b' lvl-%-3d : ' % depth) |
2815 + fmt % pcfmt(numsnapdepth[depth], numrevs) |
2829 + fmt % pcfmt(numsnapdepth[depth], numrevs) |
2816 ) |
2830 ) |
2879 |
2893 |
2880 if numdeltas > 0: |
2894 if numdeltas > 0: |
2881 ui.write(b'\n') |
2895 ui.write(b'\n') |
2882 fmt = pcfmtstr(numdeltas) |
2896 fmt = pcfmtstr(numdeltas) |
2883 fmt2 = pcfmtstr(numdeltas, 4) |
2897 fmt2 = pcfmtstr(numdeltas, 4) |
2884 ui.writenoi18n(b'deltas against prev : ' + fmt % pcfmt(numprev, numdeltas)) |
2898 ui.writenoi18n( |
|
2899 b'deltas against prev : ' + fmt % pcfmt(numprev, numdeltas) |
|
2900 ) |
2885 if numprev > 0: |
2901 if numprev > 0: |
2886 ui.writenoi18n( |
2902 ui.writenoi18n( |
2887 b' where prev = p1 : ' + fmt2 % pcfmt(nump1prev, numprev) |
2903 b' where prev = p1 : ' + fmt2 % pcfmt(nump1prev, numprev) |
2888 ) |
2904 ) |
2889 ui.writenoi18n( |
2905 ui.writenoi18n( |
2891 ) |
2907 ) |
2892 ui.writenoi18n( |
2908 ui.writenoi18n( |
2893 b' other : ' + fmt2 % pcfmt(numoprev, numprev) |
2909 b' other : ' + fmt2 % pcfmt(numoprev, numprev) |
2894 ) |
2910 ) |
2895 if gdelta: |
2911 if gdelta: |
2896 ui.writenoi18n(b'deltas against p1 : ' + fmt % pcfmt(nump1, numdeltas)) |
2912 ui.writenoi18n( |
2897 ui.writenoi18n(b'deltas against p2 : ' + fmt % pcfmt(nump2, numdeltas)) |
2913 b'deltas against p1 : ' + fmt % pcfmt(nump1, numdeltas) |
|
2914 ) |
|
2915 ui.writenoi18n( |
|
2916 b'deltas against p2 : ' + fmt % pcfmt(nump2, numdeltas) |
|
2917 ) |
2898 ui.writenoi18n( |
2918 ui.writenoi18n( |
2899 b'deltas against other : ' + fmt % pcfmt(numother, numdeltas) |
2919 b'deltas against other : ' + fmt % pcfmt(numother, numdeltas) |
2900 ) |
2920 ) |
2901 |
2921 |
2902 |
2922 |
3111 |
3131 |
3112 if opts[b'verify_optimized']: |
3132 if opts[b'verify_optimized']: |
3113 arevs = revset.makematcher(treebystage[b'analyzed'])(repo) |
3133 arevs = revset.makematcher(treebystage[b'analyzed'])(repo) |
3114 brevs = revset.makematcher(treebystage[b'optimized'])(repo) |
3134 brevs = revset.makematcher(treebystage[b'optimized'])(repo) |
3115 if opts[b'show_set'] or (opts[b'show_set'] is None and ui.verbose): |
3135 if opts[b'show_set'] or (opts[b'show_set'] is None and ui.verbose): |
3116 ui.writenoi18n(b"* analyzed set:\n", stringutil.prettyrepr(arevs), b"\n") |
3136 ui.writenoi18n( |
3117 ui.writenoi18n(b"* optimized set:\n", stringutil.prettyrepr(brevs), b"\n") |
3137 b"* analyzed set:\n", stringutil.prettyrepr(arevs), b"\n" |
|
3138 ) |
|
3139 ui.writenoi18n( |
|
3140 b"* optimized set:\n", stringutil.prettyrepr(brevs), b"\n" |
|
3141 ) |
3118 arevs = list(arevs) |
3142 arevs = list(arevs) |
3119 brevs = list(brevs) |
3143 brevs = list(brevs) |
3120 if arevs == brevs: |
3144 if arevs == brevs: |
3121 return 0 |
3145 return 0 |
3122 ui.writenoi18n(b'--- analyzed\n', label=b'diff.file_a') |
3146 ui.writenoi18n(b'--- analyzed\n', label=b'diff.file_a') |
3416 aliases = ui.configitems(b'templatealias') |
3440 aliases = ui.configitems(b'templatealias') |
3417 tree = templater.parse(tmpl) |
3441 tree = templater.parse(tmpl) |
3418 ui.note(templater.prettyformat(tree), b'\n') |
3442 ui.note(templater.prettyformat(tree), b'\n') |
3419 newtree = templater.expandaliases(tree, aliases) |
3443 newtree = templater.expandaliases(tree, aliases) |
3420 if newtree != tree: |
3444 if newtree != tree: |
3421 ui.notenoi18n(b"* expanded:\n", templater.prettyformat(newtree), b'\n') |
3445 ui.notenoi18n( |
|
3446 b"* expanded:\n", templater.prettyformat(newtree), b'\n' |
|
3447 ) |
3422 |
3448 |
3423 if revs is None: |
3449 if revs is None: |
3424 tres = formatter.templateresources(ui, repo) |
3450 tres = formatter.templateresources(ui, repo) |
3425 t = formatter.maketemplater(ui, tmpl, resources=tres) |
3451 t = formatter.maketemplater(ui, tmpl, resources=tres) |
3426 if ui.verbose: |
3452 if ui.verbose: |