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