equal
deleted
inserted
replaced
801 withsparseread = getattr(r, '_withsparseread', False) |
801 withsparseread = getattr(r, '_withsparseread', False) |
802 |
802 |
803 # security to avoid crash on corrupted revlogs |
803 # security to avoid crash on corrupted revlogs |
804 total_revs = len(index) |
804 total_revs = len(index) |
805 |
805 |
|
806 chain_size_cache = {} |
|
807 |
806 def revinfo(rev): |
808 def revinfo(rev): |
807 e = index[rev] |
809 e = index[rev] |
808 compsize = e[revlog_constants.ENTRY_DATA_COMPRESSED_LENGTH] |
810 compsize = e[revlog_constants.ENTRY_DATA_COMPRESSED_LENGTH] |
809 uncompsize = e[revlog_constants.ENTRY_DATA_UNCOMPRESSED_LENGTH] |
811 uncompsize = e[revlog_constants.ENTRY_DATA_UNCOMPRESSED_LENGTH] |
810 chainsize = 0 |
|
811 |
812 |
812 base = e[revlog_constants.ENTRY_DELTA_BASE] |
813 base = e[revlog_constants.ENTRY_DELTA_BASE] |
813 p1 = e[revlog_constants.ENTRY_PARENT_1] |
814 p1 = e[revlog_constants.ENTRY_PARENT_1] |
814 p2 = e[revlog_constants.ENTRY_PARENT_2] |
815 p2 = e[revlog_constants.ENTRY_PARENT_2] |
815 |
816 |
868 deltatype = b'base' |
869 deltatype = b'base' |
869 else: |
870 else: |
870 deltatype = b'prev' |
871 deltatype = b'prev' |
871 |
872 |
872 chain = r._deltachain(rev)[0] |
873 chain = r._deltachain(rev)[0] |
873 for iterrev in chain: |
874 chain_size = 0 |
874 e = index[iterrev] |
875 for iter_rev in reversed(chain): |
875 chainsize += e[revlog_constants.ENTRY_DATA_COMPRESSED_LENGTH] |
876 cached = chain_size_cache.get(iter_rev) |
876 |
877 if cached is not None: |
877 return p1, p2, compsize, uncompsize, deltatype, chain, chainsize |
878 chain_size += cached |
|
879 break |
|
880 e = index[iter_rev] |
|
881 chain_size += e[revlog_constants.ENTRY_DATA_COMPRESSED_LENGTH] |
|
882 chain_size_cache[rev] = chain_size |
|
883 |
|
884 return p1, p2, compsize, uncompsize, deltatype, chain, chain_size |
878 |
885 |
879 fm = ui.formatter(b'debugdeltachain', opts) |
886 fm = ui.formatter(b'debugdeltachain', opts) |
880 |
887 |
881 fm.plain( |
888 fm.plain( |
882 b' rev p1 p2 chain# chainlen prev delta ' |
889 b' rev p1 p2 chain# chainlen prev delta ' |