Show More
@@ -146,20 +146,22 b' def v2_censor(revlog, tr, censornode, to' | |||||
146 | old_index = revlog.index |
|
146 | old_index = revlog.index | |
147 | docket = revlog._docket |
|
147 | docket = revlog._docket | |
148 |
|
148 | |||
149 | censor_rev = revlog.rev(censornode) |
|
149 | censor_revs = {revlog.rev(censornode)} | |
150 | tombstone = storageutil.packmeta({b'censored': tombstone}, b'') |
|
150 | tombstone = storageutil.packmeta({b'censored': tombstone}, b'') | |
151 |
|
151 | |||
152 | censored_entry = revlog.index[censor_rev] |
|
152 | first_excl_rev = min(censor_revs) | |
153 | index_cutoff = revlog.index.entry_size * censor_rev |
|
153 | ||
154 | data_cutoff = censored_entry[ENTRY_DATA_OFFSET] >> 16 |
|
154 | first_excl_entry = revlog.index[first_excl_rev] | |
155 | sidedata_cutoff = revlog.sidedata_cut_off(censor_rev) |
|
155 | index_cutoff = revlog.index.entry_size * first_excl_rev | |
|
156 | data_cutoff = first_excl_entry[ENTRY_DATA_OFFSET] >> 16 | |||
|
157 | sidedata_cutoff = revlog.sidedata_cut_off(first_excl_rev) | |||
156 |
|
158 | |||
157 | with pycompat.unnamedtempfile(mode=b"w+b") as tmp_storage: |
|
159 | with pycompat.unnamedtempfile(mode=b"w+b") as tmp_storage: | |
158 | # rev → (new_base, data_start, data_end, compression_mode) |
|
160 | # rev → (new_base, data_start, data_end, compression_mode) | |
159 | rewritten_entries = _precompute_rewritten_delta( |
|
161 | rewritten_entries = _precompute_rewritten_delta( | |
160 | revlog, |
|
162 | revlog, | |
161 | old_index, |
|
163 | old_index, | |
162 |
|
|
164 | censor_revs, | |
163 | tmp_storage, |
|
165 | tmp_storage, | |
164 | ) |
|
166 | ) | |
165 |
|
167 | |||
@@ -182,16 +184,18 b' def v2_censor(revlog, tr, censornode, to' | |||||
182 | ) = open_files |
|
184 | ) = open_files | |
183 |
|
185 | |||
184 | # writing the censored revision |
|
186 | # writing the censored revision | |
|
187 | ||||
|
188 | # Writing all subsequent revisions | |||
|
189 | for rev in range(first_excl_rev, len(old_index)): | |||
|
190 | if rev in censor_revs: | |||
185 | _rewrite_censor( |
|
191 | _rewrite_censor( | |
186 | revlog, |
|
192 | revlog, | |
187 | old_index, |
|
193 | old_index, | |
188 | open_files, |
|
194 | open_files, | |
189 |
|
|
195 | rev, | |
190 | tombstone, |
|
196 | tombstone, | |
191 | ) |
|
197 | ) | |
192 |
|
198 | else: | ||
193 | # Writing all subsequent revisions |
|
|||
194 | for rev in range(censor_rev + 1, len(old_index)): |
|
|||
195 | _rewrite_simple( |
|
199 | _rewrite_simple( | |
196 | revlog, |
|
200 | revlog, | |
197 | old_index, |
|
201 | old_index, |
General Comments 0
You need to be logged in to leave comments.
Login now