##// END OF EJS Templates
censor: migrate the logic to a set of `censor_revs`...
marmoute -
r48264:c81a5297 default
parent child Browse files
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 {censor_rev},
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 censor_rev,
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