Status: | Merged |
---|---|
Approved by: | Jelmer Vernooij |
Approved revision: | no longer in the source branch. |
Merge reported by: | The Breezy Bot |
Merged at revision: | not available |
Proposed branch: | lp:~jelmer/brz/transform |
Merge into: | lp:brz/3.1 |
Diff against target: |
1878 lines (+212/-213) 33 files modified
breezy/bzr/inventorytree.py (+5/-1) breezy/bzr/tests/per_repository_vf/test_fileid_involved.py (+1/-1) breezy/bzr/tests/test_bundle.py (+13/-13) breezy/bzr/tests/test_testament.py (+1/-1) breezy/bzr/workingtree.py (+1/-1) breezy/conflicts.py (+2/-2) breezy/git/tree.py (+1/-1) breezy/git/workingtree.py (+1/-1) breezy/merge.py (+2/-2) breezy/mutabletree.py (+2/-2) breezy/patches.py (+1/-2) breezy/shelf.py (+3/-3) breezy/tests/blackbox/test_tags.py (+2/-3) breezy/tests/per_branch/test_branch.py (+1/-2) breezy/tests/per_intertree/__init__.py (+1/-2) breezy/tests/per_intertree/test_compare.py (+1/-1) breezy/tests/per_merger.py (+1/-1) breezy/tests/per_tree/__init__.py (+6/-7) breezy/tests/per_tree/test_path_content_summary.py (+1/-1) breezy/tests/per_workingtree/test_executable.py (+1/-1) breezy/tests/per_workingtree/test_nested_specifics.py (+1/-1) breezy/tests/per_workingtree/test_walkdirs.py (+1/-1) breezy/tests/per_workingtree/test_workingtree.py (+2/-2) breezy/tests/test_diff.py (+2/-2) breezy/tests/test_merge.py (+2/-2) breezy/tests/test_merge_core.py (+1/-1) breezy/tests/test_revert.py (+3/-3) breezy/tests/test_shelf.py (+1/-1) breezy/tests/test_transform.py (+138/-138) breezy/tests/test_upstream_import.py (+1/-1) breezy/transform.py (+3/-3) breezy/tree.py (+9/-9) breezy/upstream_import.py (+1/-1) |
To merge this branch: | bzr merge lp:~jelmer/brz/transform |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Jelmer Vernooij | Approve | ||
Review via email: mp+386851@code.launchpad.net |
Commit message
Rename MutableTree.
Description of the change
Rename MutableTree.
To post a comment you must log in.
Revision history for this message
Jelmer Vernooij (jelmer) : | # |
review:
Approve
Revision history for this message
The Breezy Bot (the-breezy-bot) wrote : | # |
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'breezy/bzr/inventorytree.py' |
2 | --- breezy/bzr/inventorytree.py 2020-06-24 02:20:23 +0000 |
3 | +++ breezy/bzr/inventorytree.py 2020-07-04 03:10:44 +0000 |
4 | @@ -324,6 +324,10 @@ |
5 | vf.fallback_versionedfiles.append(base_vf) |
6 | return last_revision |
7 | |
8 | + def preview_transform(self, pb=None): |
9 | + from ..transform import TransformPreview |
10 | + return TransformPreview(self, pb=pb) |
11 | + |
12 | |
13 | def find_ids_across_trees(filenames, trees, require_versioned=True): |
14 | """Find the ids corresponding to specified filenames. |
15 | @@ -505,7 +509,7 @@ |
16 | inventory, new_revid) |
17 | self.set_parent_trees([(new_revid, rev_tree)]) |
18 | |
19 | - def get_transform(self, pb=None): |
20 | + def transform(self, pb=None): |
21 | from ..transform import TreeTransform |
22 | return TreeTransform(self, pb=pb) |
23 | |
24 | |
25 | === modified file 'breezy/bzr/tests/per_repository_vf/test_fileid_involved.py' |
26 | --- breezy/bzr/tests/per_repository_vf/test_fileid_involved.py 2020-06-10 02:56:53 +0000 |
27 | +++ breezy/bzr/tests/per_repository_vf/test_fileid_involved.py 2020-07-04 03:10:44 +0000 |
28 | @@ -430,6 +430,6 @@ |
29 | os.chmod() doesn't work on windows. But TreeTransform can mark or |
30 | unmark a file as executable. |
31 | """ |
32 | - with wt.get_transform() as tt: |
33 | + with wt.transform() as tt: |
34 | tt.set_executability(executable, tt.trans_id_tree_path(path)) |
35 | tt.apply() |
36 | |
37 | === modified file 'breezy/bzr/tests/test_bundle.py' |
38 | --- breezy/bzr/tests/test_bundle.py 2020-06-22 02:48:24 +0000 |
39 | +++ breezy/bzr/tests/test_bundle.py 2020-07-04 03:10:44 +0000 |
40 | @@ -593,7 +593,7 @@ |
41 | ]) |
42 | self.build_tree_contents([('b1/sub/sub/emptyfile.txt', b''), |
43 | ('b1/dir/nolastnewline.txt', b'bloop')]) |
44 | - tt = self.tree1.get_transform() |
45 | + tt = self.tree1.transform() |
46 | tt.new_file('executable', tt.root, [b'#!/bin/sh\n'], b'exe-1', True) |
47 | tt.apply() |
48 | # have to fix length of file-id so that we can predictably rewrite |
49 | @@ -613,7 +613,7 @@ |
50 | self.tree1.remove( |
51 | ['sub/sub/nonempty.txt', 'sub/sub/emptyfile.txt', 'sub/sub' |
52 | ]) |
53 | - tt = self.tree1.get_transform() |
54 | + tt = self.tree1.transform() |
55 | trans_id = tt.trans_id_tree_path('executable') |
56 | tt.set_executability(False, trans_id) |
57 | tt.apply() |
58 | @@ -674,7 +674,7 @@ |
59 | self.tree1 = self.make_branch_and_tree('b1') |
60 | self.b1 = self.tree1.branch |
61 | |
62 | - tt = self.tree1.get_transform() |
63 | + tt = self.tree1.transform() |
64 | tt.new_symlink(link_name, tt.root, link_target, link_id) |
65 | tt.apply() |
66 | self.tree1.commit('add symlink', rev_id=b'l@cset-0-1') |
67 | @@ -685,7 +685,7 @@ |
68 | self.assertEqual( |
69 | link_target, bund_tree.get_symlink_target(link_name)) |
70 | |
71 | - tt = self.tree1.get_transform() |
72 | + tt = self.tree1.transform() |
73 | trans_id = tt.trans_id_tree_path(link_name) |
74 | tt.adjust_path('link2', tt.root, trans_id) |
75 | tt.delete_contents(trans_id) |
76 | @@ -699,7 +699,7 @@ |
77 | self.assertEqual(new_link_target, |
78 | bund_tree.get_symlink_target('link2')) |
79 | |
80 | - tt = self.tree1.get_transform() |
81 | + tt = self.tree1.transform() |
82 | trans_id = tt.trans_id_tree_path('link2') |
83 | tt.delete_contents(trans_id) |
84 | tt.create_symlink('jupiter', trans_id) |
85 | @@ -707,7 +707,7 @@ |
86 | self.tree1.commit('just change symlink target', rev_id=b'l@cset-0-3') |
87 | bundle = self.get_valid_bundle(b'l@cset-0-2', b'l@cset-0-3') |
88 | |
89 | - tt = self.tree1.get_transform() |
90 | + tt = self.tree1.transform() |
91 | trans_id = tt.trans_id_tree_path('link2') |
92 | tt.delete_contents(trans_id) |
93 | tt.apply() |
94 | @@ -726,7 +726,7 @@ |
95 | def test_binary_bundle(self): |
96 | self.tree1 = self.make_branch_and_tree('b1') |
97 | self.b1 = self.tree1.branch |
98 | - tt = self.tree1.get_transform() |
99 | + tt = self.tree1.transform() |
100 | |
101 | # Add |
102 | tt.new_file('file', tt.root, [ |
103 | @@ -738,7 +738,7 @@ |
104 | self.get_valid_bundle(b'null:', b'b@cset-0-1') |
105 | |
106 | # Delete |
107 | - tt = self.tree1.get_transform() |
108 | + tt = self.tree1.transform() |
109 | trans_id = tt.trans_id_tree_path('file') |
110 | tt.delete_contents(trans_id) |
111 | tt.apply() |
112 | @@ -746,7 +746,7 @@ |
113 | self.get_valid_bundle(b'b@cset-0-1', b'b@cset-0-2') |
114 | |
115 | # Rename & modify |
116 | - tt = self.tree1.get_transform() |
117 | + tt = self.tree1.transform() |
118 | trans_id = tt.trans_id_tree_path('file2') |
119 | tt.adjust_path('file3', tt.root, trans_id) |
120 | tt.delete_contents(trans_id) |
121 | @@ -756,7 +756,7 @@ |
122 | self.get_valid_bundle(b'b@cset-0-2', b'b@cset-0-3') |
123 | |
124 | # Modify |
125 | - tt = self.tree1.get_transform() |
126 | + tt = self.tree1.transform() |
127 | trans_id = tt.trans_id_tree_path('file3') |
128 | tt.delete_contents(trans_id) |
129 | tt.create_file([b'\x00file\rcontents'], trans_id) |
130 | @@ -770,12 +770,12 @@ |
131 | def test_last_modified(self): |
132 | self.tree1 = self.make_branch_and_tree('b1') |
133 | self.b1 = self.tree1.branch |
134 | - tt = self.tree1.get_transform() |
135 | + tt = self.tree1.transform() |
136 | tt.new_file('file', tt.root, [b'file'], b'file') |
137 | tt.apply() |
138 | self.tree1.commit('create file', rev_id=b'a@lmod-0-1') |
139 | |
140 | - tt = self.tree1.get_transform() |
141 | + tt = self.tree1.transform() |
142 | trans_id = tt.trans_id_tree_path('file') |
143 | tt.delete_contents(trans_id) |
144 | tt.create_file([b'file2'], trans_id) |
145 | @@ -783,7 +783,7 @@ |
146 | self.tree1.commit('modify text', rev_id=b'a@lmod-0-2a') |
147 | |
148 | other = self.get_checkout(b'a@lmod-0-1') |
149 | - tt = other.get_transform() |
150 | + tt = other.transform() |
151 | trans_id = tt.trans_id_tree_path('file2') |
152 | tt.delete_contents(trans_id) |
153 | tt.create_file([b'file2'], trans_id) |
154 | |
155 | === modified file 'breezy/bzr/tests/test_testament.py' |
156 | --- breezy/bzr/tests/test_testament.py 2020-06-10 21:13:00 +0000 |
157 | +++ breezy/bzr/tests/test_testament.py 2020-07-04 03:10:44 +0000 |
158 | @@ -50,7 +50,7 @@ |
159 | ('src/foo.c', b'int main()\n{\n}\n')]) |
160 | self.wt.add(['hello', 'src', 'src/foo.c'], |
161 | [b'hello-id', b'src-id', b'foo.c-id']) |
162 | - tt = self.wt.get_transform() |
163 | + tt = self.wt.transform() |
164 | trans_id = tt.trans_id_tree_path('hello') |
165 | tt.set_executability(True, trans_id) |
166 | tt.apply() |
167 | |
168 | === modified file 'breezy/bzr/workingtree.py' |
169 | --- breezy/bzr/workingtree.py 2020-06-25 21:13:23 +0000 |
170 | +++ breezy/bzr/workingtree.py 2020-07-04 03:10:44 +0000 |
171 | @@ -174,7 +174,7 @@ |
172 | else: |
173 | self.case_sensitive = False |
174 | |
175 | - def get_transform(self, pb=None): |
176 | + def transform(self, pb=None): |
177 | from ..transform import TreeTransform |
178 | return TreeTransform(self, pb=pb) |
179 | |
180 | |
181 | === modified file 'breezy/conflicts.py' |
182 | --- breezy/conflicts.py 2020-06-28 19:58:43 +0000 |
183 | +++ breezy/conflicts.py 2020-07-04 03:10:44 +0000 |
184 | @@ -459,7 +459,7 @@ |
185 | raise NotImplementedError(self.action_take_other) |
186 | |
187 | def _resolve_with_cleanups(self, tree, *args, **kwargs): |
188 | - with tree.get_transform() as tt: |
189 | + with tree.transform() as tt: |
190 | self._resolve(tt, *args, **kwargs) |
191 | |
192 | |
193 | @@ -796,7 +796,7 @@ |
194 | pass |
195 | |
196 | def action_take_other(self, tree): |
197 | - with tree.get_transform() as tt: |
198 | + with tree.transform() as tt: |
199 | p_tid = tt.trans_id_file_id(self.file_id) |
200 | parent_tid = tt.get_tree_parent(p_tid) |
201 | cp_tid = tt.trans_id_file_id(self.conflict_file_id) |
202 | |
203 | === modified file 'breezy/git/tree.py' |
204 | --- breezy/git/tree.py 2020-06-30 00:50:50 +0000 |
205 | +++ breezy/git/tree.py 2020-07-04 03:10:44 +0000 |
206 | @@ -1630,7 +1630,7 @@ |
207 | def _live_entry(self, relpath): |
208 | raise NotImplementedError(self._live_entry) |
209 | |
210 | - def get_transform(self, pb=None): |
211 | + def transform(self, pb=None): |
212 | from ..transform import TreeTransform |
213 | return TreeTransform(self, pb=pb) |
214 | |
215 | |
216 | === modified file 'breezy/git/workingtree.py' |
217 | --- breezy/git/workingtree.py 2020-06-30 00:50:50 +0000 |
218 | +++ breezy/git/workingtree.py 2020-07-04 03:10:44 +0000 |
219 | @@ -225,7 +225,7 @@ |
220 | else: |
221 | self.case_sensitive = False |
222 | |
223 | - def get_transform(self, pb=None): |
224 | + def transform(self, pb=None): |
225 | from ..transform import TreeTransform |
226 | return TreeTransform(self, pb=pb) |
227 | |
228 | |
229 | === modified file 'breezy/merge.py' |
230 | --- breezy/merge.py 2020-01-25 13:08:09 +0000 |
231 | +++ breezy/merge.py 2020-07-04 03:10:44 +0000 |
232 | @@ -762,7 +762,7 @@ |
233 | stack.enter_context(self.this_tree.lock_read()) |
234 | stack.enter_context(self.base_tree.lock_read()) |
235 | stack.enter_context(self.other_tree.lock_read()) |
236 | - self.tt = self.working_tree.get_transform() |
237 | + self.tt = self.working_tree.transform() |
238 | stack.enter_context(self.tt) |
239 | self._compute_transform() |
240 | results = self.tt.apply(no_conflicts=True) |
241 | @@ -774,7 +774,7 @@ |
242 | |
243 | def make_preview_transform(self): |
244 | with self.base_tree.lock_read(), self.other_tree.lock_read(): |
245 | - self.tt = transform.TransformPreview(self.working_tree) |
246 | + self.tt = self.working_tree.preview_transform() |
247 | self._compute_transform() |
248 | return self.tt |
249 | |
250 | |
251 | === modified file 'breezy/mutabletree.py' |
252 | --- breezy/mutabletree.py 2019-06-17 23:01:58 +0000 |
253 | +++ breezy/mutabletree.py 2020-07-04 03:10:44 +0000 |
254 | @@ -406,9 +406,9 @@ |
255 | """ |
256 | raise NotImplementedError(self.copy_one) |
257 | |
258 | - def get_transform(self, pb=None): |
259 | + def transform(self, pb=None): |
260 | """Return a transform object for use with this tree.""" |
261 | - raise NotImplementedError(self.get_transform) |
262 | + raise NotImplementedError(self.transform) |
263 | |
264 | |
265 | class MutableTreeHooks(hooks.Hooks): |
266 | |
267 | === modified file 'breezy/patches.py' |
268 | --- breezy/patches.py 2019-12-28 14:10:36 +0000 |
269 | +++ breezy/patches.py 2020-07-04 03:10:44 +0000 |
270 | @@ -612,8 +612,7 @@ |
271 | self.prefix = prefix |
272 | |
273 | def __enter__(self): |
274 | - from .transform import TransformPreview |
275 | - self._tt = TransformPreview(self.tree) |
276 | + self._tt = self.tree.preview_transform() |
277 | apply_patches(self._tt, self.patches, prefix=self.prefix) |
278 | return self._tt.get_preview_tree() |
279 | |
280 | |
281 | === modified file 'breezy/shelf.py' |
282 | --- breezy/shelf.py 2019-06-22 11:16:17 +0000 |
283 | +++ breezy/shelf.py 2020-07-04 03:10:44 +0000 |
284 | @@ -68,10 +68,10 @@ |
285 | :param file_list: The files to make more similar to the target. |
286 | """ |
287 | self.work_tree = work_tree |
288 | - self.work_transform = work_tree.get_transform() |
289 | + self.work_transform = work_tree.transform() |
290 | try: |
291 | self.target_tree = target_tree |
292 | - self.shelf_transform = transform.TransformPreview(self.target_tree) |
293 | + self.shelf_transform = self.target_tree.preview_transform() |
294 | try: |
295 | self.renames = {} |
296 | self.creation = {} |
297 | @@ -365,7 +365,7 @@ |
298 | base_tree = tree.revision_tree(base_revision_id) |
299 | except errors.NoSuchRevisionInTree: |
300 | base_tree = tree.branch.repository.revision_tree(base_revision_id) |
301 | - tt = transform.TransformPreview(base_tree) |
302 | + tt = base_tree.preview_transform() |
303 | tt.deserialize(records) |
304 | return klass(tree, base_tree, tt, metadata.get(b'message')) |
305 | |
306 | |
307 | === modified file 'breezy/tests/blackbox/test_tags.py' |
308 | --- breezy/tests/blackbox/test_tags.py 2020-06-13 02:58:24 +0000 |
309 | +++ breezy/tests/blackbox/test_tags.py 2020-07-04 03:10:44 +0000 |
310 | @@ -22,7 +22,6 @@ |
311 | lockable_files, |
312 | lockdir, |
313 | tag, |
314 | - transform, |
315 | ) |
316 | from breezy.bzr import ( |
317 | branch as bzrbranch, |
318 | @@ -148,9 +147,9 @@ |
319 | def make_fork(self, branch): |
320 | fork = branch.create_clone_on_transport(self.get_transport('fork')) |
321 | self.addCleanup(fork.lock_write().unlock) |
322 | - with transform.TransformPreview(fork.basis_tree()) as tt: |
323 | + with fork.basis_tree().preview_transform() as tt: |
324 | tt.commit(fork, message='Commit in fork.', revision_id=b'fork-0') |
325 | - with transform.TransformPreview(fork.basis_tree()) as tt: |
326 | + with fork.basis_tree().preview_transform() as tt: |
327 | tt.commit(fork, message='Commit in fork.', revision_id=b'fork-1') |
328 | return fork |
329 | |
330 | |
331 | === modified file 'breezy/tests/per_branch/test_branch.py' |
332 | --- breezy/tests/per_branch/test_branch.py 2020-06-10 22:39:06 +0000 |
333 | +++ breezy/tests/per_branch/test_branch.py 2020-07-04 03:10:44 +0000 |
334 | @@ -28,7 +28,6 @@ |
335 | merge, |
336 | osutils, |
337 | urlutils, |
338 | - transform, |
339 | transport, |
340 | repository, |
341 | revision, |
342 | @@ -863,7 +862,7 @@ |
343 | |
344 | def write_shelf(self, shelf_file, message=None): |
345 | tree = self.branch.repository.revision_tree(revision.NULL_REVISION) |
346 | - with transform.TransformPreview(tree) as tt: |
347 | + with tree.preview_transform() as tt: |
348 | shelf.ShelfCreator._write_shelf( |
349 | shelf_file, tt, revision.NULL_REVISION) |
350 | |
351 | |
352 | === modified file 'breezy/tests/per_intertree/__init__.py' |
353 | --- breezy/tests/per_intertree/__init__.py 2020-06-22 02:48:24 +0000 |
354 | +++ breezy/tests/per_intertree/__init__.py 2020-07-04 03:10:44 +0000 |
355 | @@ -30,7 +30,6 @@ |
356 | from breezy.bzr import ( |
357 | inventorytree, |
358 | ) |
359 | -from breezy.transform import TransformPreview |
360 | from breezy.tests import ( |
361 | default_transport, |
362 | multiply_tests, |
363 | @@ -111,7 +110,7 @@ |
364 | |
365 | |
366 | def mutable_trees_to_preview_trees(test_case, source, target): |
367 | - preview = TransformPreview(target) |
368 | + preview = target.preview_transform() |
369 | test_case.addCleanup(preview.finalize) |
370 | return source, preview.get_preview_tree() |
371 | |
372 | |
373 | === modified file 'breezy/tests/per_intertree/test_compare.py' |
374 | --- breezy/tests/per_intertree/test_compare.py 2019-09-22 22:54:48 +0000 |
375 | +++ breezy/tests/per_intertree/test_compare.py 2020-07-04 03:10:44 +0000 |
376 | @@ -434,7 +434,7 @@ |
377 | self._make_abc_tree(tree) |
378 | self.build_tree(['d/'], transport=tree.controldir.root_transport) |
379 | tree.add(['d'], [b'd-id']) |
380 | - tt = tree.get_transform() |
381 | + tt = tree.transform() |
382 | trans_id = tt.trans_id_tree_path('b') |
383 | parent_trans_id = tt.trans_id_tree_path('d') |
384 | tt.adjust_path('e', parent_trans_id, trans_id) |
385 | |
386 | === modified file 'breezy/tests/per_merger.py' |
387 | --- breezy/tests/per_merger.py 2019-06-22 12:51:11 +0000 |
388 | +++ breezy/tests/per_merger.py 2020-07-04 03:10:44 +0000 |
389 | @@ -169,7 +169,7 @@ |
390 | b'e\n', 'test/foo') |
391 | |
392 | def get_limbodir_deletiondir(self, wt): |
393 | - transform = wt.get_transform() |
394 | + transform = wt.transform() |
395 | limbodir = transform._limbodir |
396 | deletiondir = transform._deletiondir |
397 | transform.finalize() |
398 | |
399 | === modified file 'breezy/tests/per_tree/__init__.py' |
400 | --- breezy/tests/per_tree/__init__.py 2019-06-17 23:01:58 +0000 |
401 | +++ breezy/tests/per_tree/__init__.py 2020-07-04 03:10:44 +0000 |
402 | @@ -39,7 +39,6 @@ |
403 | make_scenario as wt_make_scenario, |
404 | ) |
405 | from breezy.revisiontree import RevisionTree |
406 | -from breezy.transform import TransformPreview |
407 | from breezy.tests import ( |
408 | features, |
409 | ) |
410 | @@ -70,7 +69,7 @@ |
411 | |
412 | |
413 | def preview_tree_pre(testcase, tree): |
414 | - tt = TransformPreview(tree) |
415 | + tt = tree.preview_transform() |
416 | testcase.addCleanup(tt.finalize) |
417 | preview_tree = tt.get_preview_tree() |
418 | preview_tree.set_parent_ids(tree.get_parent_ids()) |
419 | @@ -79,7 +78,7 @@ |
420 | |
421 | def preview_tree_post(testcase, tree): |
422 | basis = tree.basis_tree() |
423 | - tt = TransformPreview(basis) |
424 | + tt = basis.preview_transform() |
425 | testcase.addCleanup(tt.finalize) |
426 | tree.lock_read() |
427 | testcase.addCleanup(tree.unlock) |
428 | @@ -174,7 +173,7 @@ |
429 | This variation changes the executable flag of b/c to True. |
430 | """ |
431 | self._make_abc_tree(tree) |
432 | - tt = tree.get_transform() |
433 | + tt = tree.transform() |
434 | trans_id = tt.trans_id_tree_path('b/c') |
435 | tt.set_executability(True, trans_id) |
436 | tt.apply() |
437 | @@ -206,7 +205,7 @@ |
438 | This variation renames b/c to e, and makes it executable. |
439 | """ |
440 | self._make_abc_tree(tree) |
441 | - tt = tree.get_transform() |
442 | + tt = tree.transform() |
443 | trans_id = tt.trans_id_tree_path('b/c') |
444 | parent_trans_id = tt.trans_id_tree_path('') |
445 | tt.adjust_path('e', parent_trans_id, trans_id) |
446 | @@ -222,7 +221,7 @@ |
447 | self._make_abc_tree(tree) |
448 | self.build_tree(['d/'], transport=tree.controldir.root_transport) |
449 | tree.add(['d']) |
450 | - tt = tree.get_transform() |
451 | + tt = tree.transform() |
452 | trans_id = tt.trans_id_tree_path('b') |
453 | parent_trans_id = tt.trans_id_tree_path('d') |
454 | tt.adjust_path('e', parent_trans_id, trans_id) |
455 | @@ -270,7 +269,7 @@ |
456 | ] |
457 | self.build_tree(paths) |
458 | tree.add(paths) |
459 | - tt = tree.get_transform() |
460 | + tt = tree.transform() |
461 | if symlinks: |
462 | root_transaction_id = tt.trans_id_tree_path('') |
463 | tt.new_symlink('symlink', |
464 | |
465 | === modified file 'breezy/tests/per_tree/test_path_content_summary.py' |
466 | --- breezy/tests/per_tree/test_path_content_summary.py 2019-06-18 00:20:56 +0000 |
467 | +++ breezy/tests/per_tree/test_path_content_summary.py 2020-07-04 03:10:44 +0000 |
468 | @@ -88,7 +88,7 @@ |
469 | tree = self.make_branch_and_tree('tree') |
470 | self.build_tree(['tree/path']) |
471 | tree.add(['path']) |
472 | - with tree.get_transform() as tt: |
473 | + with tree.transform() as tt: |
474 | tt.set_executability(True, tt.trans_id_tree_path('path')) |
475 | tt.apply() |
476 | summary = self._convert_tree(tree).path_content_summary('path') |
477 | |
478 | === modified file 'breezy/tests/per_workingtree/test_executable.py' |
479 | --- breezy/tests/per_workingtree/test_executable.py 2019-09-27 02:48:17 +0000 |
480 | +++ breezy/tests/per_workingtree/test_executable.py 2020-07-04 03:10:44 +0000 |
481 | @@ -32,7 +32,7 @@ |
482 | self.b_id = b"b-20051208024829-849e76f7968d7a86" |
483 | wt = self.make_branch_and_tree('b1') |
484 | b = wt.branch |
485 | - tt = wt.get_transform() |
486 | + tt = wt.transform() |
487 | tt.new_file('a', tt.root, [b'a test\n'], self.a_id, True) |
488 | tt.new_file('b', tt.root, [b'b test\n'], self.b_id, False) |
489 | tt.apply() |
490 | |
491 | === modified file 'breezy/tests/per_workingtree/test_nested_specifics.py' |
492 | --- breezy/tests/per_workingtree/test_nested_specifics.py 2019-06-17 23:08:34 +0000 |
493 | +++ breezy/tests/per_workingtree/test_nested_specifics.py 2020-07-04 03:10:44 +0000 |
494 | @@ -37,7 +37,7 @@ |
495 | tree = self.make_branch_and_tree('.') |
496 | if not isinstance(tree, inventorytree.InventoryTree): |
497 | raise TestNotApplicable('not an inventory tree') |
498 | - transform = tree.get_transform() |
499 | + transform = tree.transform() |
500 | trans_id = transform.new_directory('reference', transform.root, |
501 | b'subtree-id') |
502 | transform.set_tree_reference(b'subtree-revision', trans_id) |
503 | |
504 | === modified file 'breezy/tests/per_workingtree/test_walkdirs.py' |
505 | --- breezy/tests/per_workingtree/test_walkdirs.py 2019-06-17 23:08:34 +0000 |
506 | +++ breezy/tests/per_workingtree/test_walkdirs.py 2020-07-04 03:10:44 +0000 |
507 | @@ -176,7 +176,7 @@ |
508 | paths = ['file1', 'file2', 'dir1/', 'dir2/'] |
509 | self.build_tree(paths) |
510 | tree.add(paths) |
511 | - tt = tree.get_transform() |
512 | + tt = tree.transform() |
513 | root_transaction_id = tt.trans_id_tree_path('') |
514 | tt.new_symlink('link1', |
515 | root_transaction_id, 'link-target', b'link1') |
516 | |
517 | === modified file 'breezy/tests/per_workingtree/test_workingtree.py' |
518 | --- breezy/tests/per_workingtree/test_workingtree.py 2020-01-19 15:24:07 +0000 |
519 | +++ breezy/tests/per_workingtree/test_workingtree.py 2020-07-04 03:10:44 +0000 |
520 | @@ -143,9 +143,9 @@ |
521 | ('zz_dir', 'directory'), |
522 | ], files) |
523 | |
524 | - def test_get_transform(self): |
525 | + def test_transform(self): |
526 | tree = self.make_branch_and_tree('tree') |
527 | - with tree.get_transform(): |
528 | + with tree.transform(): |
529 | pass |
530 | |
531 | def test_list_files_kind_change(self): |
532 | |
533 | === modified file 'breezy/tests/test_diff.py' |
534 | --- breezy/tests/test_diff.py 2020-05-30 20:10:42 +0000 |
535 | +++ breezy/tests/test_diff.py 2020-07-04 03:10:44 +0000 |
536 | @@ -562,7 +562,7 @@ |
537 | def test_internal_diff_exec_property(self): |
538 | tree = self.make_branch_and_tree('tree') |
539 | |
540 | - tt = tree.get_transform() |
541 | + tt = tree.transform() |
542 | tt.new_file('a', tt.root, [b'contents\n'], b'a-id', True) |
543 | tt.new_file('b', tt.root, [b'contents\n'], b'b-id', False) |
544 | tt.new_file('c', tt.root, [b'contents\n'], b'c-id', True) |
545 | @@ -572,7 +572,7 @@ |
546 | tt.apply() |
547 | tree.commit('one', rev_id=b'rev-1') |
548 | |
549 | - tt = tree.get_transform() |
550 | + tt = tree.transform() |
551 | tt.set_executability(False, tt.trans_id_file_id(b'a-id')) |
552 | tt.set_executability(True, tt.trans_id_file_id(b'b-id')) |
553 | tt.set_executability(False, tt.trans_id_file_id(b'c-id')) |
554 | |
555 | === modified file 'breezy/tests/test_merge.py' |
556 | --- breezy/tests/test_merge.py 2019-07-27 22:47:49 +0000 |
557 | +++ breezy/tests/test_merge.py 2020-07-04 03:10:44 +0000 |
558 | @@ -146,7 +146,7 @@ |
559 | merger = _mod_merge.Merge3Merger(wt, wt, wt.basis_tree(), other_tree, |
560 | this_branch=wt.branch, |
561 | do_merge=False) |
562 | - with transform.TransformPreview(wt) as merger.tt: |
563 | + with wt.preview_transform() as merger.tt: |
564 | merger._compute_transform() |
565 | new_root_id = merger.tt.final_file_id(merger.tt.root) |
566 | self.assertEqual(wt.path2id(''), new_root_id) |
567 | @@ -2260,7 +2260,7 @@ |
568 | builder.build_snapshot([b'C-id', b'B-id'], [], revision_id=b'E-id') |
569 | # Have to use a real WT, because BranchBuilder doesn't support exec bit |
570 | wt = self.get_wt_from_builder(builder) |
571 | - with wt.get_transform() as tt: |
572 | + with wt.transform() as tt: |
573 | tt.set_executability(True, tt.trans_id_tree_path('foo')) |
574 | tt.apply() |
575 | self.assertTrue(wt.is_executable('foo')) |
576 | |
577 | === modified file 'breezy/tests/test_merge_core.py' |
578 | --- breezy/tests/test_merge_core.py 2019-06-17 23:01:58 +0000 |
579 | +++ breezy/tests/test_merge_core.py 2020-07-04 03:10:44 +0000 |
580 | @@ -57,7 +57,7 @@ |
581 | wt.lock_write() |
582 | wt.set_root_id(self.tree_root) |
583 | wt.flush() |
584 | - tt = wt.get_transform() |
585 | + tt = wt.transform() |
586 | return wt, tt |
587 | self.base, self.base_tt = wt('base') |
588 | self.this, self.this_tt = wt('this') |
589 | |
590 | === modified file 'breezy/tests/test_revert.py' |
591 | --- breezy/tests/test_revert.py 2019-06-29 13:16:26 +0000 |
592 | +++ breezy/tests/test_revert.py 2020-07-04 03:10:44 +0000 |
593 | @@ -85,7 +85,7 @@ |
594 | |
595 | def tree_with_executable(self): |
596 | tree = self.make_branch_and_tree('tree') |
597 | - tt = tree.get_transform() |
598 | + tt = tree.transform() |
599 | tt.new_file('newfile', tt.root, [b'helooo!'], b'newfile-id', True) |
600 | tt.apply() |
601 | with tree.lock_write(): |
602 | @@ -95,7 +95,7 @@ |
603 | |
604 | def test_preserve_execute(self): |
605 | tree = self.tree_with_executable() |
606 | - tt = tree.get_transform() |
607 | + tt = tree.transform() |
608 | newfile = tt.trans_id_tree_path('newfile') |
609 | tt.delete_contents(newfile) |
610 | tt.create_file([b'Woooorld!'], newfile) |
611 | @@ -111,7 +111,7 @@ |
612 | |
613 | def test_revert_executable(self): |
614 | tree = self.tree_with_executable() |
615 | - tt = tree.get_transform() |
616 | + tt = tree.transform() |
617 | newfile = tt.trans_id_tree_path('newfile') |
618 | tt.set_executability(False, newfile) |
619 | tt.apply() |
620 | |
621 | === modified file 'breezy/tests/test_shelf.py' |
622 | --- breezy/tests/test_shelf.py 2020-06-25 21:13:23 +0000 |
623 | +++ breezy/tests/test_shelf.py 2020-07-04 03:10:44 +0000 |
624 | @@ -500,7 +500,7 @@ |
625 | parser = pack.ContainerPushParser() |
626 | with open('shelf', 'rb') as shelf_file: |
627 | parser.accept_bytes(shelf_file.read()) |
628 | - tt = transform.TransformPreview(tree) |
629 | + tt = tree.preview_transform() |
630 | self.addCleanup(tt.finalize) |
631 | records = iter(parser.read_pending_records()) |
632 | # skip revision-id |
633 | |
634 | === modified file 'breezy/tests/test_transform.py' |
635 | --- breezy/tests/test_transform.py 2020-06-25 21:13:23 +0000 |
636 | +++ breezy/tests/test_transform.py 2020-07-04 03:10:44 +0000 |
637 | @@ -99,13 +99,13 @@ |
638 | self.wt = self.make_branch_and_tree('.', format='development-subtree') |
639 | os.chdir('..') |
640 | |
641 | - def get_transform(self): |
642 | + def transform(self): |
643 | transform = TreeTransform(self.wt) |
644 | self.addCleanup(transform.finalize) |
645 | return transform, transform.root |
646 | |
647 | - def get_transform_for_sha1_test(self): |
648 | - trans, root = self.get_transform() |
649 | + def transform_for_sha1_test(self): |
650 | + trans, root = self.transform() |
651 | self.wt.lock_tree_write() |
652 | self.addCleanup(self.wt.unlock) |
653 | contents = [b'just some content\n'] |
654 | @@ -115,31 +115,31 @@ |
655 | return trans, root, contents, sha1 |
656 | |
657 | def test_existing_limbo(self): |
658 | - transform, root = self.get_transform() |
659 | + transform, root = self.transform() |
660 | limbo_name = transform._limbodir |
661 | deletion_path = transform._deletiondir |
662 | os.mkdir(pathjoin(limbo_name, 'hehe')) |
663 | self.assertRaises(ImmortalLimbo, transform.apply) |
664 | self.assertRaises(LockError, self.wt.unlock) |
665 | - self.assertRaises(ExistingLimbo, self.get_transform) |
666 | + self.assertRaises(ExistingLimbo, self.transform) |
667 | self.assertRaises(LockError, self.wt.unlock) |
668 | os.rmdir(pathjoin(limbo_name, 'hehe')) |
669 | os.rmdir(limbo_name) |
670 | os.rmdir(deletion_path) |
671 | - transform, root = self.get_transform() |
672 | + transform, root = self.transform() |
673 | transform.apply() |
674 | |
675 | def test_existing_pending_deletion(self): |
676 | - transform, root = self.get_transform() |
677 | + transform, root = self.transform() |
678 | deletion_path = self._limbodir = urlutils.local_path_from_url( |
679 | transform._tree._transport.abspath('pending-deletion')) |
680 | os.mkdir(pathjoin(deletion_path, 'blocking-directory')) |
681 | self.assertRaises(ImmortalPendingDeletion, transform.apply) |
682 | self.assertRaises(LockError, self.wt.unlock) |
683 | - self.assertRaises(ExistingPendingDeletion, self.get_transform) |
684 | + self.assertRaises(ExistingPendingDeletion, self.transform) |
685 | |
686 | def test_build(self): |
687 | - transform, root = self.get_transform() |
688 | + transform, root = self.transform() |
689 | self.wt.lock_tree_write() |
690 | self.addCleanup(self.wt.unlock) |
691 | self.assertIs(transform.get_tree_parent(root), ROOT_PARENT) |
692 | @@ -184,7 +184,7 @@ |
693 | transform.finalize() |
694 | |
695 | def test_apply_informs_tree_of_observed_sha1(self): |
696 | - trans, root, contents, sha1 = self.get_transform_for_sha1_test() |
697 | + trans, root, contents, sha1 = self.transform_for_sha1_test() |
698 | trans_id = trans.new_file('file1', root, contents, file_id=b'file1-id', |
699 | sha1=sha1) |
700 | calls = [] |
701 | @@ -199,7 +199,7 @@ |
702 | calls) |
703 | |
704 | def test_create_file_caches_sha1(self): |
705 | - trans, root, contents, sha1 = self.get_transform_for_sha1_test() |
706 | + trans, root, contents, sha1 = self.transform_for_sha1_test() |
707 | trans_id = trans.create_path('file1', root) |
708 | trans.create_file(contents, trans_id, sha1=sha1) |
709 | st_val = osutils.lstat(trans._limbo_name(trans_id)) |
710 | @@ -208,7 +208,7 @@ |
711 | self.assertEqualStat(o_st_val, st_val) |
712 | |
713 | def test__apply_insertions_updates_sha1(self): |
714 | - trans, root, contents, sha1 = self.get_transform_for_sha1_test() |
715 | + trans, root, contents, sha1 = self.transform_for_sha1_test() |
716 | trans_id = trans.create_path('file1', root) |
717 | trans.create_file(contents, trans_id, sha1=sha1) |
718 | st_val = osutils.lstat(trans._limbo_name(trans_id)) |
719 | @@ -229,7 +229,7 @@ |
720 | self.assertNotEqual(st_val.st_mtime, new_st_val.st_mtime) |
721 | |
722 | def test_new_file_caches_sha1(self): |
723 | - trans, root, contents, sha1 = self.get_transform_for_sha1_test() |
724 | + trans, root, contents, sha1 = self.transform_for_sha1_test() |
725 | trans_id = trans.new_file('file1', root, contents, file_id=b'file1-id', |
726 | sha1=sha1) |
727 | st_val = osutils.lstat(trans._limbo_name(trans_id)) |
728 | @@ -238,7 +238,7 @@ |
729 | self.assertEqualStat(o_st_val, st_val) |
730 | |
731 | def test_cancel_creation_removes_observed_sha1(self): |
732 | - trans, root, contents, sha1 = self.get_transform_for_sha1_test() |
733 | + trans, root, contents, sha1 = self.transform_for_sha1_test() |
734 | trans_id = trans.new_file('file1', root, contents, file_id=b'file1-id', |
735 | sha1=sha1) |
736 | self.assertTrue(trans_id in trans._observed_sha1s) |
737 | @@ -246,7 +246,7 @@ |
738 | self.assertFalse(trans_id in trans._observed_sha1s) |
739 | |
740 | def test_create_files_same_timestamp(self): |
741 | - transform, root = self.get_transform() |
742 | + transform, root = self.transform() |
743 | self.wt.lock_tree_write() |
744 | self.addCleanup(self.wt.unlock) |
745 | # Roll back the clock, so that we know everything is being set to the |
746 | @@ -270,7 +270,7 @@ |
747 | self.assertEqual(st1.st_mtime, st2.st_mtime) |
748 | |
749 | def test_change_root_id(self): |
750 | - transform, root = self.get_transform() |
751 | + transform, root = self.transform() |
752 | self.assertNotEqual(b'new-root-id', self.wt.path2id('')) |
753 | transform.new_directory('', ROOT_PARENT, b'new-root-id') |
754 | transform.delete_contents(root) |
755 | @@ -280,7 +280,7 @@ |
756 | self.assertEqual(b'new-root-id', self.wt.path2id('')) |
757 | |
758 | def test_change_root_id_add_files(self): |
759 | - transform, root = self.get_transform() |
760 | + transform, root = self.transform() |
761 | self.assertNotEqual(b'new-root-id', self.wt.path2id('')) |
762 | new_trans_id = transform.new_directory('', ROOT_PARENT, b'new-root-id') |
763 | transform.new_file('file', new_trans_id, [b'new-contents\n'], |
764 | @@ -294,34 +294,34 @@ |
765 | self.assertFileEqual(b'new-contents\n', self.wt.abspath('file')) |
766 | |
767 | def test_add_two_roots(self): |
768 | - transform, root = self.get_transform() |
769 | + transform, root = self.transform() |
770 | transform.new_directory('', ROOT_PARENT, b'new-root-id') |
771 | transform.new_directory('', ROOT_PARENT, b'alt-root-id') |
772 | self.assertRaises(ValueError, transform.fixup_new_roots) |
773 | |
774 | def test_retain_existing_root(self): |
775 | - tt, root = self.get_transform() |
776 | + tt, root = self.transform() |
777 | with tt: |
778 | tt.new_directory('', ROOT_PARENT, b'new-root-id') |
779 | tt.fixup_new_roots() |
780 | self.assertNotEqual(b'new-root-id', tt.final_file_id(tt.root)) |
781 | |
782 | def test_retain_existing_root_added_file(self): |
783 | - tt, root = self.get_transform() |
784 | + tt, root = self.transform() |
785 | new_trans_id = tt.new_directory('', ROOT_PARENT, b'new-root-id') |
786 | child = tt.new_directory('child', new_trans_id, b'child-id') |
787 | tt.fixup_new_roots() |
788 | self.assertEqual(tt.root, tt.final_parent(child)) |
789 | |
790 | def test_add_unversioned_root(self): |
791 | - transform, root = self.get_transform() |
792 | + transform, root = self.transform() |
793 | transform.new_directory('', ROOT_PARENT, None) |
794 | transform.delete_contents(transform.root) |
795 | transform.fixup_new_roots() |
796 | self.assertNotIn(transform.root, transform._new_id) |
797 | |
798 | def test_remove_root_fixup(self): |
799 | - transform, root = self.get_transform() |
800 | + transform, root = self.transform() |
801 | old_root_id = self.wt.path2id('') |
802 | self.assertNotEqual(b'new-root-id', old_root_id) |
803 | transform.delete_contents(root) |
804 | @@ -330,13 +330,13 @@ |
805 | transform.apply() |
806 | self.assertEqual(old_root_id, self.wt.path2id('')) |
807 | |
808 | - transform, root = self.get_transform() |
809 | + transform, root = self.transform() |
810 | transform.new_directory('', ROOT_PARENT, b'new-root-id') |
811 | transform.new_directory('', ROOT_PARENT, b'alt-root-id') |
812 | self.assertRaises(ValueError, transform.fixup_new_roots) |
813 | |
814 | def test_fixup_new_roots_permits_empty_tree(self): |
815 | - transform, root = self.get_transform() |
816 | + transform, root = self.transform() |
817 | transform.delete_contents(root) |
818 | transform.unversion_file(root) |
819 | transform.fixup_new_roots() |
820 | @@ -346,7 +346,7 @@ |
821 | def test_apply_retains_root_directory(self): |
822 | # Do not attempt to delete the physical root directory, because that |
823 | # is impossible. |
824 | - transform, root = self.get_transform() |
825 | + transform, root = self.transform() |
826 | with transform: |
827 | transform.delete_contents(root) |
828 | e = self.assertRaises(AssertionError, self.assertRaises, |
829 | @@ -355,7 +355,7 @@ |
830 | self.assertContainsRe('TransformRenameFailed not raised', str(e)) |
831 | |
832 | def test_apply_retains_file_id(self): |
833 | - transform, root = self.get_transform() |
834 | + transform, root = self.transform() |
835 | old_root_id = transform.tree_file_id(root) |
836 | transform.unversion_file(root) |
837 | transform.apply() |
838 | @@ -363,7 +363,7 @@ |
839 | |
840 | def test_hardlink(self): |
841 | self.requireFeature(HardlinkFeature) |
842 | - transform, root = self.get_transform() |
843 | + transform, root = self.transform() |
844 | transform.new_file('file1', root, [b'contents']) |
845 | transform.apply() |
846 | target = self.make_branch_and_tree('target') |
847 | @@ -377,7 +377,7 @@ |
848 | self.assertEqual(source_stat, target_stat) |
849 | |
850 | def test_convenience(self): |
851 | - transform, root = self.get_transform() |
852 | + transform, root = self.transform() |
853 | self.wt.lock_tree_write() |
854 | self.addCleanup(self.wt.unlock) |
855 | transform.new_file('name', root, [b'contents'], b'my_pretties', True) |
856 | @@ -402,7 +402,7 @@ |
857 | self.assertIs(self.wt.is_executable('oz/dorothy/toto'), False) |
858 | |
859 | def test_tree_reference(self): |
860 | - transform, root = self.get_transform() |
861 | + transform, root = self.transform() |
862 | tree = transform._tree |
863 | trans_id = transform.new_directory('reference', root, b'subtree-id') |
864 | transform.set_tree_reference(b'subtree-revision', trans_id) |
865 | @@ -414,7 +414,7 @@ |
866 | tree.root_inventory.get_entry(b'subtree-id').reference_revision) |
867 | |
868 | def test_conflicts(self): |
869 | - transform, root = self.get_transform() |
870 | + transform, root = self.transform() |
871 | trans_id = transform.new_file('name', root, [b'contents'], |
872 | b'my_pretties') |
873 | self.assertEqual(len(transform.find_conflicts()), 0) |
874 | @@ -464,7 +464,7 @@ |
875 | self.assertEqual(self.wt.path2id('name'), b'my_pretties') |
876 | with open(self.wt.abspath('name'), 'rb') as f: |
877 | self.assertEqual(b'contents', f.read()) |
878 | - transform2, root = self.get_transform() |
879 | + transform2, root = self.transform() |
880 | oz_id = transform2.trans_id_tree_path('oz') |
881 | newtip = transform2.new_file('tip', oz_id, [b'other'], b'tip-id') |
882 | result = transform2.find_conflicts() |
883 | @@ -609,16 +609,16 @@ |
884 | transform._limbo_name(bar_id)) |
885 | |
886 | def test_add_del(self): |
887 | - start, root = self.get_transform() |
888 | + start, root = self.transform() |
889 | start.new_directory('a', root, b'a') |
890 | start.apply() |
891 | - transform, root = self.get_transform() |
892 | + transform, root = self.transform() |
893 | transform.delete_versioned(transform.trans_id_tree_path('a')) |
894 | transform.new_directory('a', root, b'a') |
895 | transform.apply() |
896 | |
897 | def test_unversioning(self): |
898 | - create_tree, root = self.get_transform() |
899 | + create_tree, root = self.transform() |
900 | parent_id = create_tree.new_directory('parent', root, b'parent-id') |
901 | create_tree.new_file('child', parent_id, [b'child'], b'child-id') |
902 | create_tree.apply() |
903 | @@ -633,7 +633,7 @@ |
904 | unversion.apply() |
905 | |
906 | def test_name_invariants(self): |
907 | - create_tree, root = self.get_transform() |
908 | + create_tree, root = self.transform() |
909 | # prepare tree |
910 | root = create_tree.root |
911 | create_tree.new_file('name1', root, [b'hello1'], b'name1') |
912 | @@ -644,7 +644,7 @@ |
913 | create_tree.new_file('moving_file2', root, [b'later2'], b'mfile2') |
914 | create_tree.apply() |
915 | |
916 | - mangle_tree, root = self.get_transform() |
917 | + mangle_tree, root = self.transform() |
918 | root = mangle_tree.root |
919 | # swap names |
920 | name1 = mangle_tree.trans_id_tree_path('name1') |
921 | @@ -688,12 +688,12 @@ |
922 | mfile2_path = self.wt.abspath(pathjoin('new_directory', 'mfile2')) |
923 | |
924 | def test_both_rename(self): |
925 | - create_tree, root = self.get_transform() |
926 | + create_tree, root = self.transform() |
927 | newdir = create_tree.new_directory('selftest', root, b'selftest-id') |
928 | create_tree.new_file('blackbox.py', newdir, [ |
929 | b'hello1'], b'blackbox-id') |
930 | create_tree.apply() |
931 | - mangle_tree, root = self.get_transform() |
932 | + mangle_tree, root = self.transform() |
933 | selftest = mangle_tree.trans_id_tree_path('selftest') |
934 | blackbox = mangle_tree.trans_id_tree_path('selftest/blackbox.py') |
935 | mangle_tree.adjust_path('test', root, selftest) |
936 | @@ -702,14 +702,14 @@ |
937 | mangle_tree.apply() |
938 | |
939 | def test_both_rename2(self): |
940 | - create_tree, root = self.get_transform() |
941 | + create_tree, root = self.transform() |
942 | breezy = create_tree.new_directory('breezy', root, b'breezy-id') |
943 | tests = create_tree.new_directory('tests', breezy, b'tests-id') |
944 | blackbox = create_tree.new_directory('blackbox', tests, b'blackbox-id') |
945 | create_tree.new_file('test_too_much.py', blackbox, [b'hello1'], |
946 | b'test_too_much-id') |
947 | create_tree.apply() |
948 | - mangle_tree, root = self.get_transform() |
949 | + mangle_tree, root = self.transform() |
950 | breezy = mangle_tree.trans_id_tree_path('breezy') |
951 | tests = mangle_tree.trans_id_tree_path('breezy/tests') |
952 | test_too_much = mangle_tree.trans_id_tree_path( |
953 | @@ -720,12 +720,12 @@ |
954 | mangle_tree.apply() |
955 | |
956 | def test_both_rename3(self): |
957 | - create_tree, root = self.get_transform() |
958 | + create_tree, root = self.transform() |
959 | tests = create_tree.new_directory('tests', root, b'tests-id') |
960 | create_tree.new_file('test_too_much.py', tests, [b'hello1'], |
961 | b'test_too_much-id') |
962 | create_tree.apply() |
963 | - mangle_tree, root = self.get_transform() |
964 | + mangle_tree, root = self.transform() |
965 | tests = mangle_tree.trans_id_tree_path('tests') |
966 | test_too_much = mangle_tree.trans_id_tree_path( |
967 | 'tests/test_too_much.py') |
968 | @@ -735,23 +735,23 @@ |
969 | mangle_tree.apply() |
970 | |
971 | def test_move_dangling_ie(self): |
972 | - create_tree, root = self.get_transform() |
973 | + create_tree, root = self.transform() |
974 | # prepare tree |
975 | root = create_tree.root |
976 | create_tree.new_file('name1', root, [b'hello1'], b'name1') |
977 | create_tree.apply() |
978 | - delete_contents, root = self.get_transform() |
979 | + delete_contents, root = self.transform() |
980 | file = delete_contents.trans_id_tree_path('name1') |
981 | delete_contents.delete_contents(file) |
982 | delete_contents.apply() |
983 | - move_id, root = self.get_transform() |
984 | + move_id, root = self.transform() |
985 | name1 = move_id.trans_id_tree_path('name1') |
986 | newdir = move_id.new_directory('dir', root, b'newdir') |
987 | move_id.adjust_path('name2', newdir, name1) |
988 | move_id.apply() |
989 | |
990 | def test_replace_dangling_ie(self): |
991 | - create_tree, root = self.get_transform() |
992 | + create_tree, root = self.transform() |
993 | # prepare tree |
994 | root = create_tree.root |
995 | create_tree.new_file('name1', root, [b'hello1'], b'name1') |
996 | @@ -778,7 +778,7 @@ |
997 | return 'oz/' + p |
998 | |
999 | self.requireFeature(SymlinkFeature) |
1000 | - transform, root = self.get_transform() |
1001 | + transform, root = self.transform() |
1002 | oz_id = transform.new_directory('oz', root, b'oz-id') |
1003 | transform.new_symlink(link_name1, oz_id, link_target1, b'wizard-id') |
1004 | wiz_id = transform.create_path(link_name2, oz_id) |
1005 | @@ -825,12 +825,12 @@ |
1006 | os.symlink = os_symlink |
1007 | |
1008 | def get_conflicted(self): |
1009 | - create, root = self.get_transform() |
1010 | + create, root = self.transform() |
1011 | create.new_file('dorothy', root, [b'dorothy'], b'dorothy-id') |
1012 | oz = create.new_directory('oz', root, b'oz-id') |
1013 | create.new_directory('emeraldcity', oz, b'emerald-id') |
1014 | create.apply() |
1015 | - conflicts, root = self.get_transform() |
1016 | + conflicts, root = self.transform() |
1017 | # set up duplicate entry, duplicate id |
1018 | new_dorothy = conflicts.new_file('dorothy', root, [b'dorothy'], |
1019 | b'dorothy-id') |
1020 | @@ -916,10 +916,10 @@ |
1021 | ' oz/emeraldcity. Cancelled move.') |
1022 | |
1023 | def prepare_wrong_parent_kind(self): |
1024 | - tt, root = self.get_transform() |
1025 | + tt, root = self.transform() |
1026 | tt.new_file('parent', root, [b'contents'], b'parent-id') |
1027 | tt.apply() |
1028 | - tt, root = self.get_transform() |
1029 | + tt, root = self.transform() |
1030 | parent_id = tt.trans_id_file_id(b'parent-id') |
1031 | tt.new_file('child,', parent_id, [b'contents2'], b'file-id') |
1032 | return tt |
1033 | @@ -941,11 +941,11 @@ |
1034 | self.assertEqual(b'parent-id', self.wt.path2id('parent.new')) |
1035 | |
1036 | def test_resolve_conflicts_wrong_new_parent_kind(self): |
1037 | - tt, root = self.get_transform() |
1038 | + tt, root = self.transform() |
1039 | parent_id = tt.new_directory('parent', root, b'parent-id') |
1040 | tt.new_file('child,', parent_id, [b'contents2'], b'file-id') |
1041 | tt.apply() |
1042 | - tt, root = self.get_transform() |
1043 | + tt, root = self.transform() |
1044 | parent_id = tt.trans_id_file_id(b'parent-id') |
1045 | tt.delete_contents(parent_id) |
1046 | tt.create_file([b'contents'], parent_id) |
1047 | @@ -957,11 +957,11 @@ |
1048 | self.assertEqual(b'parent-id', self.wt.path2id('parent.new')) |
1049 | |
1050 | def test_resolve_conflicts_wrong_parent_kind_unversioned(self): |
1051 | - tt, root = self.get_transform() |
1052 | + tt, root = self.transform() |
1053 | parent_id = tt.new_directory('parent', root) |
1054 | tt.new_file('child,', parent_id, [b'contents2']) |
1055 | tt.apply() |
1056 | - tt, root = self.get_transform() |
1057 | + tt, root = self.transform() |
1058 | parent_id = tt.trans_id_tree_path('parent') |
1059 | tt.delete_contents(parent_id) |
1060 | tt.create_file([b'contents'], parent_id) |
1061 | @@ -986,37 +986,37 @@ |
1062 | self.assertRaises(NoFinalPath, tt.apply) |
1063 | |
1064 | def test_moving_versioned_directories(self): |
1065 | - create, root = self.get_transform() |
1066 | + create, root = self.transform() |
1067 | kansas = create.new_directory('kansas', root, b'kansas-id') |
1068 | create.new_directory('house', kansas, b'house-id') |
1069 | create.new_directory('oz', root, b'oz-id') |
1070 | create.apply() |
1071 | - cyclone, root = self.get_transform() |
1072 | + cyclone, root = self.transform() |
1073 | oz = cyclone.trans_id_tree_path('oz') |
1074 | house = cyclone.trans_id_tree_path('house') |
1075 | cyclone.adjust_path('house', oz, house) |
1076 | cyclone.apply() |
1077 | |
1078 | def test_moving_root(self): |
1079 | - create, root = self.get_transform() |
1080 | + create, root = self.transform() |
1081 | fun = create.new_directory('fun', root, b'fun-id') |
1082 | create.new_directory('sun', root, b'sun-id') |
1083 | create.new_directory('moon', root, b'moon') |
1084 | create.apply() |
1085 | - transform, root = self.get_transform() |
1086 | + transform, root = self.transform() |
1087 | transform.adjust_root_path('oldroot', fun) |
1088 | new_root = transform.trans_id_tree_path('') |
1089 | transform.version_file(b'new-root', new_root) |
1090 | transform.apply() |
1091 | |
1092 | def test_renames(self): |
1093 | - create, root = self.get_transform() |
1094 | + create, root = self.transform() |
1095 | old = create.new_directory('old-parent', root, b'old-id') |
1096 | intermediate = create.new_directory('intermediate', old, b'im-id') |
1097 | myfile = create.new_file('myfile', intermediate, [b'myfile-text'], |
1098 | b'myfile-id') |
1099 | create.apply() |
1100 | - rename, root = self.get_transform() |
1101 | + rename, root = self.transform() |
1102 | old = rename.trans_id_file_id(b'old-id') |
1103 | rename.adjust_path('new', root, old) |
1104 | myfile = rename.trans_id_file_id(b'myfile-id') |
1105 | @@ -1026,7 +1026,7 @@ |
1106 | def test_rename_fails(self): |
1107 | self.requireFeature(features.not_running_as_root) |
1108 | # see https://bugs.launchpad.net/bzr/+bug/491763 |
1109 | - create, root_id = self.get_transform() |
1110 | + create, root_id = self.transform() |
1111 | create.new_directory('first-dir', root_id, b'first-id') |
1112 | create.new_file('myfile', root_id, [b'myfile-text'], b'myfile-id') |
1113 | create.apply() |
1114 | @@ -1039,7 +1039,7 @@ |
1115 | else: |
1116 | self.skipTest("Can't force a permissions error on rename") |
1117 | # now transform to rename |
1118 | - rename_transform, root_id = self.get_transform() |
1119 | + rename_transform, root_id = self.transform() |
1120 | file_trans_id = rename_transform.trans_id_file_id(b'myfile-id') |
1121 | dir_id = rename_transform.trans_id_file_id(b'first-id') |
1122 | rename_transform.adjust_path('newname', dir_id, file_trans_id) |
1123 | @@ -1070,7 +1070,7 @@ |
1124 | declared should throw an exception (this may happen when a |
1125 | merge attempts to create a file with a duplicate ID) |
1126 | """ |
1127 | - transform, root = self.get_transform() |
1128 | + transform, root = self.transform() |
1129 | wt = transform._tree |
1130 | wt.lock_read() |
1131 | self.addCleanup(wt.unlock) |
1132 | @@ -1090,13 +1090,13 @@ |
1133 | """File mode is preserved when replacing content""" |
1134 | if sys.platform == 'win32': |
1135 | raise TestSkipped('chmod has no effect on win32') |
1136 | - transform, root = self.get_transform() |
1137 | + transform, root = self.transform() |
1138 | transform.new_file('file1', root, [b'contents'], b'file1-id', True) |
1139 | transform.apply() |
1140 | self.wt.lock_write() |
1141 | self.addCleanup(self.wt.unlock) |
1142 | self.assertTrue(self.wt.is_executable('file1')) |
1143 | - transform, root = self.get_transform() |
1144 | + transform, root = self.transform() |
1145 | file1_id = transform.trans_id_tree_path('file1') |
1146 | transform.delete_contents(file1_id) |
1147 | transform.create_file([b'contents2'], file1_id) |
1148 | @@ -1115,13 +1115,13 @@ |
1149 | stat_paths.append(path) |
1150 | return real_stat(path) |
1151 | |
1152 | - transform, root = self.get_transform() |
1153 | + transform, root = self.transform() |
1154 | |
1155 | bar1_id = transform.new_file('bar', root, [b'bar contents 1\n'], |
1156 | file_id=b'bar-id-1', executable=False) |
1157 | transform.apply() |
1158 | |
1159 | - transform, root = self.get_transform() |
1160 | + transform, root = self.transform() |
1161 | bar1_id = transform.trans_id_tree_path('bar') |
1162 | bar2_id = transform.trans_id_tree_path('bar2') |
1163 | try: |
1164 | @@ -1137,10 +1137,10 @@ |
1165 | |
1166 | def test_iter_changes(self): |
1167 | self.wt.set_root_id(b'eert_toor') |
1168 | - transform, root = self.get_transform() |
1169 | + transform, root = self.transform() |
1170 | transform.new_file('old', root, [b'blah'], b'id-1', True) |
1171 | transform.apply() |
1172 | - transform, root = self.get_transform() |
1173 | + transform, root = self.transform() |
1174 | try: |
1175 | self.assertEqual([], list(transform.iter_changes())) |
1176 | old = transform.trans_id_tree_path('old') |
1177 | @@ -1161,10 +1161,10 @@ |
1178 | |
1179 | def test_iter_changes_new(self): |
1180 | self.wt.set_root_id(b'eert_toor') |
1181 | - transform, root = self.get_transform() |
1182 | + transform, root = self.transform() |
1183 | transform.new_file('old', root, [b'blah']) |
1184 | transform.apply() |
1185 | - transform, root = self.get_transform() |
1186 | + transform, root = self.transform() |
1187 | try: |
1188 | old = transform.trans_id_tree_path('old') |
1189 | transform.version_file(b'id-1', old) |
1190 | @@ -1178,12 +1178,12 @@ |
1191 | |
1192 | def test_iter_changes_modifications(self): |
1193 | self.wt.set_root_id(b'eert_toor') |
1194 | - transform, root = self.get_transform() |
1195 | + transform, root = self.transform() |
1196 | transform.new_file('old', root, [b'blah'], b'id-1') |
1197 | transform.new_file('new', root, [b'blah']) |
1198 | transform.new_directory('subdir', root, b'subdir-id') |
1199 | transform.apply() |
1200 | - transform, root = self.get_transform() |
1201 | + transform, root = self.transform() |
1202 | try: |
1203 | old = transform.trans_id_tree_path('old') |
1204 | subdir = transform.trans_id_tree_path('subdir') |
1205 | @@ -1268,11 +1268,11 @@ |
1206 | # will be applied before file2. And if it's applied after file2, it |
1207 | # obviously can't bleed into file2's change output. But for now, it |
1208 | # works. |
1209 | - transform, root = self.get_transform() |
1210 | + transform, root = self.transform() |
1211 | transform.new_file('file1', root, [b'blah'], b'id-1') |
1212 | transform.new_file('file2', root, [b'blah'], b'id-2') |
1213 | transform.apply() |
1214 | - transform, root = self.get_transform() |
1215 | + transform, root = self.transform() |
1216 | try: |
1217 | transform.delete_contents(transform.trans_id_file_id(b'id-1')) |
1218 | transform.set_executability(True, |
1219 | @@ -1292,13 +1292,13 @@ |
1220 | """Test moving ids with no files around""" |
1221 | self.wt.set_root_id(b'toor_eert') |
1222 | # Need two steps because versioning a non-existant file is a conflict. |
1223 | - transform, root = self.get_transform() |
1224 | + transform, root = self.transform() |
1225 | transform.new_directory('floater', root, b'floater-id') |
1226 | transform.apply() |
1227 | - transform, root = self.get_transform() |
1228 | + transform, root = self.transform() |
1229 | transform.delete_contents(transform.trans_id_tree_path('floater')) |
1230 | transform.apply() |
1231 | - transform, root = self.get_transform() |
1232 | + transform, root = self.transform() |
1233 | floater = transform.trans_id_tree_path('floater') |
1234 | try: |
1235 | transform.adjust_path('flitter', root, floater) |
1236 | @@ -1314,11 +1314,11 @@ |
1237 | def test_iter_changes_pointless(self): |
1238 | """Ensure that no-ops are not treated as modifications""" |
1239 | self.wt.set_root_id(b'eert_toor') |
1240 | - transform, root = self.get_transform() |
1241 | + transform, root = self.transform() |
1242 | transform.new_file('old', root, [b'blah'], b'id-1') |
1243 | transform.new_directory('subdir', root, b'subdir-id') |
1244 | transform.apply() |
1245 | - transform, root = self.get_transform() |
1246 | + transform, root = self.transform() |
1247 | try: |
1248 | old = transform.trans_id_tree_path('old') |
1249 | subdir = transform.trans_id_tree_path('subdir') |
1250 | @@ -1334,12 +1334,12 @@ |
1251 | transform.finalize() |
1252 | |
1253 | def test_rename_count(self): |
1254 | - transform, root = self.get_transform() |
1255 | + transform, root = self.transform() |
1256 | transform.new_file('name1', root, [b'contents']) |
1257 | self.assertEqual(transform.rename_count, 0) |
1258 | transform.apply() |
1259 | self.assertEqual(transform.rename_count, 1) |
1260 | - transform2, root = self.get_transform() |
1261 | + transform2, root = self.transform() |
1262 | transform2.adjust_path('name2', root, |
1263 | transform2.trans_id_tree_path('name1')) |
1264 | self.assertEqual(transform2.rename_count, 0) |
1265 | @@ -1356,7 +1356,7 @@ |
1266 | This test ensures they work correctly with the rename-avoidance |
1267 | optimization. |
1268 | """ |
1269 | - transform, root = self.get_transform() |
1270 | + transform, root = self.transform() |
1271 | parent1 = transform.new_directory('parent1', root) |
1272 | child1 = transform.new_file('child1', parent1, [b'contents']) |
1273 | parent2 = transform.new_directory('parent2', root) |
1274 | @@ -1375,7 +1375,7 @@ |
1275 | before adjusting the path. The transform must detect that the |
1276 | directory is non-empty, and move children to safe locations. |
1277 | """ |
1278 | - transform, root = self.get_transform() |
1279 | + transform, root = self.transform() |
1280 | parent1 = transform.new_directory('parent1', root) |
1281 | child1 = transform.new_file('child1', parent1, [b'contents']) |
1282 | child2 = transform.new_file('child2', parent1, [b'contents']) |
1283 | @@ -1402,7 +1402,7 @@ |
1284 | |
1285 | def test_adjust_and_cancel(self): |
1286 | """Make sure adjust_path keeps track of limbo children properly""" |
1287 | - transform, root = self.get_transform() |
1288 | + transform, root = self.transform() |
1289 | parent1 = transform.new_directory('parent1', root) |
1290 | child1 = transform.new_file('child1', parent1, [b'contents']) |
1291 | parent2 = transform.new_directory('parent2', root) |
1292 | @@ -1418,7 +1418,7 @@ |
1293 | |
1294 | def test_noname_contents(self): |
1295 | """TreeTransform should permit deferring naming files.""" |
1296 | - transform, root = self.get_transform() |
1297 | + transform, root = self.transform() |
1298 | parent = transform.trans_id_file_id(b'parent-id') |
1299 | try: |
1300 | transform.create_directory(parent) |
1301 | @@ -1428,7 +1428,7 @@ |
1302 | |
1303 | def test_noname_contents_nested(self): |
1304 | """TreeTransform should permit deferring naming files.""" |
1305 | - transform, root = self.get_transform() |
1306 | + transform, root = self.transform() |
1307 | parent = transform.trans_id_file_id(b'parent-id') |
1308 | try: |
1309 | transform.create_directory(parent) |
1310 | @@ -1442,7 +1442,7 @@ |
1311 | |
1312 | def test_reuse_name(self): |
1313 | """Avoid reusing the same limbo name for different files""" |
1314 | - transform, root = self.get_transform() |
1315 | + transform, root = self.transform() |
1316 | parent = transform.new_directory('parent', root) |
1317 | transform.new_directory('child', parent) |
1318 | try: |
1319 | @@ -1460,7 +1460,7 @@ |
1320 | |
1321 | def test_reuse_when_first_moved(self): |
1322 | """Don't avoid direct paths when it is safe to use them""" |
1323 | - transform, root = self.get_transform() |
1324 | + transform, root = self.transform() |
1325 | parent = transform.new_directory('parent', root) |
1326 | child1 = transform.new_directory('child', parent) |
1327 | transform.adjust_path('child1', parent, child1) |
1328 | @@ -1471,7 +1471,7 @@ |
1329 | |
1330 | def test_reuse_after_cancel(self): |
1331 | """Don't avoid direct paths when it is safe to use them""" |
1332 | - transform, root = self.get_transform() |
1333 | + transform, root = self.transform() |
1334 | parent2 = transform.new_directory('parent2', root) |
1335 | child1 = transform.new_directory('child1', parent2) |
1336 | transform.cancel_creation(parent2) |
1337 | @@ -1484,7 +1484,7 @@ |
1338 | |
1339 | def test_finalize_order(self): |
1340 | """Finalize must be done in child-to-parent order""" |
1341 | - transform, root = self.get_transform() |
1342 | + transform, root = self.transform() |
1343 | parent = transform.new_directory('parent', root) |
1344 | transform.new_directory('child', parent) |
1345 | try: |
1346 | @@ -1493,7 +1493,7 @@ |
1347 | self.fail('Tried to remove parent before child1') |
1348 | |
1349 | def test_cancel_with_cancelled_child_should_succeed(self): |
1350 | - transform, root = self.get_transform() |
1351 | + transform, root = self.transform() |
1352 | parent = transform.new_directory('parent', root) |
1353 | child = transform.new_directory('child', parent) |
1354 | transform.cancel_creation(child) |
1355 | @@ -1656,7 +1656,7 @@ |
1356 | self.assertEqual(wt.kind("foo"), "file") |
1357 | |
1358 | def test_no_final_path(self): |
1359 | - transform, root = self.get_transform() |
1360 | + transform, root = self.transform() |
1361 | trans_id = transform.trans_id_file_id(b'foo') |
1362 | transform.create_file([b'bar'], trans_id) |
1363 | transform.cancel_creation(trans_id) |
1364 | @@ -1723,14 +1723,14 @@ |
1365 | tree = self.make_branch_and_tree('tree') |
1366 | self.build_tree(['tree/foo']) |
1367 | tree.add('foo', b'foo-id') |
1368 | - with TransformPreview(tree) as tt: |
1369 | + with tree.preview_transform() as tt: |
1370 | self.assertEqual([], tt._inventory_altered()) |
1371 | |
1372 | def test_inventory_altered_changed_parent_id(self): |
1373 | tree = self.make_branch_and_tree('tree') |
1374 | self.build_tree(['tree/foo']) |
1375 | tree.add('foo', b'foo-id') |
1376 | - with TransformPreview(tree) as tt: |
1377 | + with tree.preview_transform() as tt: |
1378 | tt.unversion_file(tt.root) |
1379 | tt.version_file(b'new-id', tt.root) |
1380 | foo_trans_id = tt.trans_id_tree_path('foo') |
1381 | @@ -1742,7 +1742,7 @@ |
1382 | tree = self.make_branch_and_tree('tree') |
1383 | self.build_tree(['tree/foo']) |
1384 | tree.add('foo', b'foo-id') |
1385 | - with TransformPreview(tree) as tt: |
1386 | + with tree.preview_transform() as tt: |
1387 | tt.unversion_file(tt.root) |
1388 | tt.version_file(tree.path2id(''), tt.root) |
1389 | tt.trans_id_tree_path('foo') |
1390 | @@ -2355,7 +2355,7 @@ |
1391 | |
1392 | def get_branch_and_transform(self): |
1393 | branch = self.get_branch() |
1394 | - tt = TransformPreview(branch.basis_tree()) |
1395 | + tt = branch.basis_tree().preview_transform() |
1396 | self.addCleanup(tt.finalize) |
1397 | return branch, tt |
1398 | |
1399 | @@ -2363,7 +2363,7 @@ |
1400 | branch = self.get_branch() |
1401 | basis = branch.repository.revision_tree( |
1402 | _mod_revision.NULL_REVISION) |
1403 | - tt = TransformPreview(basis) |
1404 | + tt = basis.preview_transform() |
1405 | self.addCleanup(tt.finalize) |
1406 | e = self.assertRaises(ValueError, tt.commit, branch, '') |
1407 | self.assertEqual('TreeTransform not based on branch basis: null:', |
1408 | @@ -2386,7 +2386,7 @@ |
1409 | branch = self.make_branch('branch') |
1410 | branch.lock_write() |
1411 | self.addCleanup(branch.unlock) |
1412 | - tt = TransformPreview(branch.basis_tree()) |
1413 | + tt = branch.basis_tree().preview_transform() |
1414 | self.addCleanup(tt.finalize) |
1415 | tt.new_directory('', ROOT_PARENT, b'TREE_ROOT') |
1416 | tt.commit(branch, 'my message') |
1417 | @@ -2398,7 +2398,7 @@ |
1418 | branch = self.make_branch('branch') |
1419 | branch.lock_write() |
1420 | self.addCleanup(branch.unlock) |
1421 | - tt = TransformPreview(branch.basis_tree()) |
1422 | + tt = branch.basis_tree().preview_transform() |
1423 | self.addCleanup(tt.finalize) |
1424 | e = self.assertRaises(ValueError, tt.commit, branch, |
1425 | 'my message', [b'rev1b-id']) |
1426 | @@ -2431,7 +2431,7 @@ |
1427 | branch, tt = self.get_branch_and_transform() |
1428 | tt.new_file('file', tt.root, [b'contents'], b'file-id') |
1429 | tt.commit(branch, 'message', strict=True) |
1430 | - tt = TransformPreview(branch.basis_tree()) |
1431 | + tt = branch.basis_tree().preview_transform() |
1432 | self.addCleanup(tt.finalize) |
1433 | trans_id = tt.trans_id_file_id(b'file-id') |
1434 | tt.delete_contents(trans_id) |
1435 | @@ -2788,24 +2788,24 @@ |
1436 | def get_empty_preview(self): |
1437 | repository = self.make_repository('repo') |
1438 | tree = repository.revision_tree(_mod_revision.NULL_REVISION) |
1439 | - preview = TransformPreview(tree) |
1440 | + preview = tree.preview_transform() |
1441 | self.addCleanup(preview.finalize) |
1442 | return preview |
1443 | |
1444 | def test_transform_preview(self): |
1445 | revision_tree = self.create_tree() |
1446 | - preview = TransformPreview(revision_tree) |
1447 | + preview = revision_tree.preview_transform() |
1448 | self.addCleanup(preview.finalize) |
1449 | |
1450 | def test_transform_preview_tree(self): |
1451 | revision_tree = self.create_tree() |
1452 | - preview = TransformPreview(revision_tree) |
1453 | + preview = revision_tree.preview_transform() |
1454 | self.addCleanup(preview.finalize) |
1455 | preview.get_preview_tree() |
1456 | |
1457 | def test_transform_new_file(self): |
1458 | revision_tree = self.create_tree() |
1459 | - preview = TransformPreview(revision_tree) |
1460 | + preview = revision_tree.preview_transform() |
1461 | self.addCleanup(preview.finalize) |
1462 | preview.new_file('file2', preview.root, [b'content B\n'], b'file2-id') |
1463 | preview_tree = preview.get_preview_tree() |
1464 | @@ -2815,7 +2815,7 @@ |
1465 | |
1466 | def test_diff_preview_tree(self): |
1467 | revision_tree = self.create_tree() |
1468 | - preview = TransformPreview(revision_tree) |
1469 | + preview = revision_tree.preview_transform() |
1470 | self.addCleanup(preview.finalize) |
1471 | preview.new_file('file2', preview.root, [b'content B\n'], b'file2-id') |
1472 | preview_tree = preview.get_preview_tree() |
1473 | @@ -2836,7 +2836,7 @@ |
1474 | tree.add('foo', b'foo-id') |
1475 | tree.commit('rev1', rev_id=b'rev1') |
1476 | revision_tree = tree.branch.repository.revision_tree(b'rev1') |
1477 | - preview = TransformPreview(revision_tree) |
1478 | + preview = revision_tree.preview_transform() |
1479 | self.addCleanup(preview.finalize) |
1480 | preview.delete_versioned(preview.trans_id_tree_path('foo')) |
1481 | preview_tree = preview.get_preview_tree() |
1482 | @@ -2856,7 +2856,7 @@ |
1483 | |
1484 | def test_transform_conflicts(self): |
1485 | revision_tree = self.create_tree() |
1486 | - preview = TransformPreview(revision_tree) |
1487 | + preview = revision_tree.preview_transform() |
1488 | self.addCleanup(preview.finalize) |
1489 | preview.new_file('a', preview.root, [b'content 2']) |
1490 | resolve_conflicts(preview) |
1491 | @@ -2865,7 +2865,7 @@ |
1492 | |
1493 | def get_tree_and_preview_tree(self): |
1494 | revision_tree = self.create_tree() |
1495 | - preview = TransformPreview(revision_tree) |
1496 | + preview = revision_tree.preview_transform() |
1497 | self.addCleanup(preview.finalize) |
1498 | a_trans_id = preview.trans_id_file_id(b'a-id') |
1499 | preview.delete_contents(a_trans_id) |
1500 | @@ -2917,7 +2917,7 @@ |
1501 | |
1502 | def test_kind(self): |
1503 | revision_tree = self.create_tree() |
1504 | - preview = TransformPreview(revision_tree) |
1505 | + preview = revision_tree.preview_transform() |
1506 | self.addCleanup(preview.finalize) |
1507 | preview.new_file('file', preview.root, [b'contents'], b'file-id') |
1508 | preview.new_directory('directory', preview.root, b'dir-id') |
1509 | @@ -2938,7 +2938,7 @@ |
1510 | work_tree = self.make_branch_and_tree('tree') |
1511 | self.build_tree(['tree/file']) |
1512 | work_tree.add('file', b'file-id') |
1513 | - preview = TransformPreview(work_tree) |
1514 | + preview = work_tree.preview_transform() |
1515 | self.addCleanup(preview.finalize) |
1516 | file_trans_id = preview.trans_id_tree_path('file') |
1517 | preview.adjust_path('renamed', preview.root, file_trans_id) |
1518 | @@ -2950,7 +2950,7 @@ |
1519 | work_tree = self.make_branch_and_tree('tree') |
1520 | self.build_tree_contents([('tree/old', b'old')]) |
1521 | work_tree.add('old', b'old-id') |
1522 | - preview = TransformPreview(work_tree) |
1523 | + preview = work_tree.preview_transform() |
1524 | self.addCleanup(preview.finalize) |
1525 | preview.new_file('name', preview.root, [b'contents'], b'new-id', |
1526 | 'executable') |
1527 | @@ -2977,7 +2977,7 @@ |
1528 | tree = self.make_branch_and_tree('tree') |
1529 | self.build_tree(['tree/a', 'tree/b', 'tree/c']) |
1530 | tree.add(['a', 'b', 'c'], [b'a-id', b'b-id', b'c-id']) |
1531 | - preview = TransformPreview(tree) |
1532 | + preview = tree.preview_transform() |
1533 | self.addCleanup(preview.finalize) |
1534 | preview.unversion_file(preview.trans_id_file_id(b'b-id')) |
1535 | c_trans_id = preview.trans_id_file_id(b'c-id') |
1536 | @@ -2991,7 +2991,7 @@ |
1537 | tree = self.make_branch_and_tree('tree') |
1538 | self.build_tree(['tree/unchanged', 'tree/deleted']) |
1539 | tree.add(['unchanged', 'deleted'], [b'unchanged-id', b'deleted-id']) |
1540 | - preview = TransformPreview(tree) |
1541 | + preview = tree.preview_transform() |
1542 | self.addCleanup(preview.finalize) |
1543 | preview.unversion_file(preview.trans_id_file_id(b'deleted-id')) |
1544 | preview_tree = preview.get_preview_tree() |
1545 | @@ -3002,7 +3002,7 @@ |
1546 | tree = self.make_branch_and_tree('tree') |
1547 | self.build_tree(['tree/unchanged']) |
1548 | tree.add(['unchanged'], [b'unchanged-id']) |
1549 | - preview = TransformPreview(tree) |
1550 | + preview = tree.preview_transform() |
1551 | self.addCleanup(preview.finalize) |
1552 | preview.new_file('new', preview.trans_id_file_id(b'unchanged-id'), |
1553 | [b'contents'], b'new-id') |
1554 | @@ -3014,7 +3014,7 @@ |
1555 | self.build_tree(['tree/old_parent/', 'tree/old_parent/child']) |
1556 | tree.add(['old_parent', 'old_parent/child'], |
1557 | [b'old_parent-id', b'child-id']) |
1558 | - preview = TransformPreview(tree) |
1559 | + preview = tree.preview_transform() |
1560 | self.addCleanup(preview.finalize) |
1561 | new_parent = preview.new_directory('new_parent', preview.root, |
1562 | b'new_parent-id') |
1563 | @@ -3029,7 +3029,7 @@ |
1564 | self.build_tree(['tree/old_name/', 'tree/old_name/child']) |
1565 | tree.add(['old_name', 'old_name/child'], |
1566 | [b'parent-id', b'child-id']) |
1567 | - preview = TransformPreview(tree) |
1568 | + preview = tree.preview_transform() |
1569 | self.addCleanup(preview.finalize) |
1570 | preview.adjust_path('new_name', preview.root, |
1571 | preview.trans_id_file_id(b'parent-id')) |
1572 | @@ -3102,7 +3102,7 @@ |
1573 | tree = self.make_branch_and_tree('tree') |
1574 | self.build_tree(['tree/path/']) |
1575 | tree.add('path') |
1576 | - preview = TransformPreview(tree) |
1577 | + preview = tree.preview_transform() |
1578 | self.addCleanup(preview.finalize) |
1579 | preview.delete_contents(preview.trans_id_tree_path('path')) |
1580 | summary = preview.get_preview_tree().path_content_summary('path') |
1581 | @@ -3127,7 +3127,7 @@ |
1582 | tree = self.make_branch_and_tree('tree') |
1583 | self.build_tree(['tree/path']) |
1584 | tree.add('path') |
1585 | - preview = TransformPreview(tree) |
1586 | + preview = tree.preview_transform() |
1587 | self.addCleanup(preview.finalize) |
1588 | path_id = preview.trans_id_tree_path('path') |
1589 | preview.set_executability(True, path_id) |
1590 | @@ -3167,7 +3167,7 @@ |
1591 | tree.add('file', b'file-id') |
1592 | tree.commit('a', rev_id=b'one') |
1593 | self.build_tree_contents([('tree/file', b'a\nb\n')]) |
1594 | - preview = TransformPreview(tree) |
1595 | + preview = tree.preview_transform() |
1596 | self.addCleanup(preview.finalize) |
1597 | file_trans_id = preview.trans_id_file_id(b'file-id') |
1598 | preview.delete_contents(file_trans_id) |
1599 | @@ -3200,7 +3200,7 @@ |
1600 | self.build_tree_contents([('tree/file', b'a\n')]) |
1601 | tree.add('file', b'file-id') |
1602 | tree.commit('a', rev_id=b'one') |
1603 | - preview = TransformPreview(tree) |
1604 | + preview = tree.preview_transform() |
1605 | self.addCleanup(preview.finalize) |
1606 | file_trans_id = preview.trans_id_file_id(b'file-id') |
1607 | preview.adjust_path('newname', preview.root, file_trans_id) |
1608 | @@ -3218,7 +3218,7 @@ |
1609 | tree.add('file', b'file-id') |
1610 | tree.commit('a', rev_id=b'one') |
1611 | self.build_tree_contents([('tree/file', b'a\nb\n')]) |
1612 | - preview = TransformPreview(tree) |
1613 | + preview = tree.preview_transform() |
1614 | self.addCleanup(preview.finalize) |
1615 | file_trans_id = preview.trans_id_file_id(b'file-id') |
1616 | preview.delete_contents(file_trans_id) |
1617 | @@ -3252,7 +3252,7 @@ |
1618 | work_a.add('file', b'file-id') |
1619 | base_id = work_a.commit('base version') |
1620 | tree_b = work_a.controldir.sprout('wtb').open_workingtree() |
1621 | - preview = TransformPreview(work_a) |
1622 | + preview = work_a.preview_transform() |
1623 | self.addCleanup(preview.finalize) |
1624 | trans_id = preview.trans_id_file_id(b'file-id') |
1625 | preview.delete_contents(trans_id) |
1626 | @@ -3275,7 +3275,7 @@ |
1627 | work_a.add('file', b'file-id') |
1628 | base_id = work_a.commit('base version') |
1629 | tree_b = work_a.controldir.sprout('wtb').open_workingtree() |
1630 | - preview = TransformPreview(work_a.basis_tree()) |
1631 | + preview = work_a.basis_tree().preview_transform() |
1632 | self.addCleanup(preview.finalize) |
1633 | trans_id = preview.trans_id_file_id(b'file-id') |
1634 | preview.delete_contents(trans_id) |
1635 | @@ -3308,7 +3308,7 @@ |
1636 | self.build_tree(['tree/removed-file', 'tree/existing-file', |
1637 | 'tree/not-removed-file']) |
1638 | work_tree.add(['removed-file', 'not-removed-file']) |
1639 | - preview = TransformPreview(work_tree) |
1640 | + preview = work_tree.preview_transform() |
1641 | self.addCleanup(preview.finalize) |
1642 | preview.new_file('new-file', preview.root, [b'contents']) |
1643 | preview.new_file('new-versioned-file', preview.root, [b'contents'], |
1644 | @@ -3330,7 +3330,7 @@ |
1645 | self.addCleanup(child_tree.unlock) |
1646 | work_tree.lock_write() |
1647 | self.addCleanup(work_tree.unlock) |
1648 | - preview = TransformPreview(work_tree) |
1649 | + preview = work_tree.preview_transform() |
1650 | self.addCleanup(preview.finalize) |
1651 | file_trans_id = preview.trans_id_file_id(b'file-id') |
1652 | preview.delete_contents(file_trans_id) |
1653 | @@ -3351,7 +3351,7 @@ |
1654 | def test_merge_preview_into_workingtree(self): |
1655 | tree = self.make_branch_and_tree('tree') |
1656 | tree.set_root_id(b'TREE_ROOT') |
1657 | - tt = TransformPreview(tree) |
1658 | + tt = tree.preview_transform() |
1659 | self.addCleanup(tt.finalize) |
1660 | tt.new_file('name', tt.root, [b'content'], b'file-id') |
1661 | tree2 = self.make_branch_and_tree('tree2') |
1662 | @@ -3366,7 +3366,7 @@ |
1663 | self.build_tree_contents([('tree/foo', b'bar')]) |
1664 | tree.add('foo', b'foo-id') |
1665 | tree.commit('foo') |
1666 | - tt = TransformPreview(tree) |
1667 | + tt = tree.preview_transform() |
1668 | self.addCleanup(tt.finalize) |
1669 | trans_id = tt.trans_id_file_id(b'foo-id') |
1670 | tt.delete_contents(trans_id) |
1671 | @@ -3381,7 +3381,7 @@ |
1672 | def test_has_filename(self): |
1673 | wt = self.make_branch_and_tree('tree') |
1674 | self.build_tree(['tree/unmodified', 'tree/removed', 'tree/modified']) |
1675 | - tt = TransformPreview(wt) |
1676 | + tt = wt.preview_transform() |
1677 | removed_id = tt.trans_id_tree_path('removed') |
1678 | tt.delete_contents(removed_id) |
1679 | tt.new_file('new', tt.root, [b'contents']) |
1680 | @@ -3398,7 +3398,7 @@ |
1681 | |
1682 | def test_is_executable(self): |
1683 | tree = self.make_branch_and_tree('tree') |
1684 | - preview = TransformPreview(tree) |
1685 | + preview = tree.preview_transform() |
1686 | self.addCleanup(preview.finalize) |
1687 | preview.new_file('foo', preview.root, [b'bar'], b'baz-id') |
1688 | preview_tree = preview.get_preview_tree() |
1689 | @@ -3409,7 +3409,7 @@ |
1690 | rev_id = tree.commit('rev1') |
1691 | tree.branch.lock_write() |
1692 | self.addCleanup(tree.branch.unlock) |
1693 | - tt = TransformPreview(tree) |
1694 | + tt = tree.preview_transform() |
1695 | tt.new_file('file', tt.root, [b'contents'], b'file_id') |
1696 | self.addCleanup(tt.finalize) |
1697 | preview = tt.get_preview_tree() |
1698 | @@ -3425,7 +3425,7 @@ |
1699 | self.requireFeature(features.UnicodeFilenameFeature) |
1700 | branch = self.make_branch('any') |
1701 | tree = branch.repository.revision_tree(_mod_revision.NULL_REVISION) |
1702 | - tt = TransformPreview(tree) |
1703 | + tt = tree.preview_transform() |
1704 | self.addCleanup(tt.finalize) |
1705 | foo_id = tt.new_directory('', ROOT_PARENT) |
1706 | bar_id = tt.new_file(u'\u1234bar', foo_id, [b'contents']) |
1707 | @@ -3450,7 +3450,7 @@ |
1708 | def get_preview(self, tree=None): |
1709 | if tree is None: |
1710 | tree = self.make_branch_and_tree('tree') |
1711 | - tt = TransformPreview(tree) |
1712 | + tt = tree.preview_transform() |
1713 | self.addCleanup(tt.finalize) |
1714 | return tt |
1715 | |
1716 | @@ -3709,7 +3709,7 @@ |
1717 | |
1718 | def test_no_orphan_for_transform_preview(self): |
1719 | tree = self.make_branch_and_tree('tree') |
1720 | - tt = transform.TransformPreview(tree) |
1721 | + tt = tree.preview_transform() |
1722 | self.addCleanup(tt.finalize) |
1723 | self.assertRaises(NotImplementedError, tt.new_orphan, 'foo', 'bar') |
1724 | |
1725 | @@ -3805,7 +3805,7 @@ |
1726 | self.wt = self.make_branch_and_tree('.') |
1727 | os.chdir('..') |
1728 | |
1729 | - def get_transform(self): |
1730 | + def transform(self): |
1731 | transform = TreeTransform(self.wt) |
1732 | self.addCleanup(transform.finalize) |
1733 | return transform, transform.root |
1734 | @@ -3817,7 +3817,7 @@ |
1735 | calls.append((tree, tt)) |
1736 | MutableTree.hooks.install_named_hook( |
1737 | 'pre_transform', record_pre_transform, "Pre transform") |
1738 | - transform, root = self.get_transform() |
1739 | + transform, root = self.transform() |
1740 | old_root_id = transform.tree_file_id(root) |
1741 | transform.apply() |
1742 | self.assertEqual(old_root_id, self.wt.path2id('')) |
1743 | @@ -3830,7 +3830,7 @@ |
1744 | calls.append((tree, tt)) |
1745 | MutableTree.hooks.install_named_hook( |
1746 | 'post_transform', record_post_transform, "Post transform") |
1747 | - transform, root = self.get_transform() |
1748 | + transform, root = self.transform() |
1749 | old_root_id = transform.tree_file_id(root) |
1750 | transform.apply() |
1751 | self.assertEqual(old_root_id, self.wt.path2id('')) |
1752 | |
1753 | === modified file 'breezy/tests/test_upstream_import.py' |
1754 | --- breezy/tests/test_upstream_import.py 2020-06-10 21:13:00 +0000 |
1755 | +++ breezy/tests/test_upstream_import.py 2020-07-04 03:10:44 +0000 |
1756 | @@ -284,7 +284,7 @@ |
1757 | def get_empty_tt(self): |
1758 | b = self.make_repository('foo') |
1759 | null_tree = b.revision_tree(_mod_revision.NULL_REVISION) |
1760 | - tt = transform.TransformPreview(null_tree) |
1761 | + tt = null_tree.preview_transform() |
1762 | tt.new_directory('', transform.ROOT_PARENT, b'tree-root') |
1763 | tt.fixup_new_roots() |
1764 | self.addCleanup(tt.finalize) |
1765 | |
1766 | === modified file 'breezy/transform.py' |
1767 | --- breezy/transform.py 2020-06-30 01:55:28 +0000 |
1768 | +++ breezy/transform.py 2020-07-04 03:10:44 +0000 |
1769 | @@ -2655,7 +2655,7 @@ |
1770 | if wt.path2id('') != tree.path2id(''): |
1771 | wt.set_root_id(tree.path2id('')) |
1772 | wt.flush() |
1773 | - tt = wt.get_transform() |
1774 | + tt = wt.transform() |
1775 | divert = set() |
1776 | try: |
1777 | pp.next_phase() |
1778 | @@ -2920,7 +2920,7 @@ |
1779 | """Revert a working tree's contents to those of a target tree.""" |
1780 | pb = ui.ui_factory.nested_progress_bar() |
1781 | try: |
1782 | - with target_tree.lock_read(), working_tree.get_transform(pb) as tt: |
1783 | + with target_tree.lock_read(), working_tree.transform(pb) as tt: |
1784 | pp = ProgressPhase("Revert phase", 3, pb) |
1785 | conflicts, merge_modified = _prepare_revert_transform( |
1786 | working_tree, target_tree, tt, filenames, backups, pp) |
1787 | @@ -3296,7 +3296,7 @@ |
1788 | :param target_tree: Tree to change |
1789 | :param source_tree: Tree to hard-link from |
1790 | """ |
1791 | - with target_tree.get_transform() as tt: |
1792 | + with target_tree.transform() as tt: |
1793 | for change in target_tree.iter_changes(source_tree, include_unchanged=True): |
1794 | if change.changed_content: |
1795 | continue |
1796 | |
1797 | === modified file 'breezy/tree.py' |
1798 | --- breezy/tree.py 2020-06-24 02:20:23 +0000 |
1799 | +++ breezy/tree.py 2020-07-04 03:10:44 +0000 |
1800 | @@ -21,15 +21,6 @@ |
1801 | |
1802 | from .lazy_import import lazy_import |
1803 | lazy_import(globals(), """ |
1804 | - |
1805 | -from breezy import ( |
1806 | - conflicts as _mod_conflicts, |
1807 | - debug, |
1808 | - delta, |
1809 | - filters, |
1810 | - revision as _mod_revision, |
1811 | - rules, |
1812 | - ) |
1813 | from breezy.i18n import gettext |
1814 | """) |
1815 | |
1816 | @@ -37,6 +28,7 @@ |
1817 | errors, |
1818 | lock, |
1819 | osutils, |
1820 | + revision as _mod_revision, |
1821 | trace, |
1822 | ) |
1823 | from .inter import InterObject |
1824 | @@ -270,6 +262,7 @@ |
1825 | |
1826 | Each conflict is an instance of breezy.conflicts.Conflict. |
1827 | """ |
1828 | + from . import conflicts as _mod_conflicts |
1829 | return _mod_conflicts.ConflictList() |
1830 | |
1831 | def extras(self): |
1832 | @@ -689,6 +682,7 @@ |
1833 | or None if unknown |
1834 | :return: the list of filters - [] if there are none |
1835 | """ |
1836 | + from . import debug, filters |
1837 | filter_pref_names = filters._get_registered_names() |
1838 | if len(filter_pref_names) == 0: |
1839 | return [] |
1840 | @@ -723,6 +717,7 @@ |
1841 | :return: an iterator of tuple sequences, one per path-name. |
1842 | See _RulesSearcher.get_items for details on the tuple sequence. |
1843 | """ |
1844 | + from . import rules |
1845 | if _default_searcher is None: |
1846 | _default_searcher = rules._per_user_searcher |
1847 | searcher = self._get_rules_searcher(_default_searcher) |
1848 | @@ -759,6 +754,10 @@ |
1849 | """Check if this tree support versioning a specific file kind.""" |
1850 | return (kind in ('file', 'directory', 'symlink', 'tree-reference')) |
1851 | |
1852 | + def preview_transform(self, pb=None): |
1853 | + """Obtain a transform object.""" |
1854 | + raise NotImplementedError(self.preview_transform) |
1855 | + |
1856 | |
1857 | class InterTree(InterObject): |
1858 | """This class represents operations taking place between two Trees. |
1859 | @@ -804,6 +803,7 @@ |
1860 | a PathsNotVersionedError will be thrown. |
1861 | :param want_unversioned: Scan for unversioned paths. |
1862 | """ |
1863 | + from . import delta |
1864 | trees = (self.source,) |
1865 | if extra_trees is not None: |
1866 | trees = trees + tuple(extra_trees) |
1867 | |
1868 | === modified file 'breezy/upstream_import.py' |
1869 | --- breezy/upstream_import.py 2020-06-21 02:15:25 +0000 |
1870 | +++ breezy/upstream_import.py 2020-07-04 03:10:44 +0000 |
1871 | @@ -232,7 +232,7 @@ |
1872 | |
1873 | |
1874 | def import_archive(tree, archive_file): |
1875 | - with tree.get_transform() as tt: |
1876 | + with tree.transform() as tt: |
1877 | import_archive_to_transform(tree, archive_file, tt) |
1878 | tt.apply() |
1879 |
Running landing tests failed /ci.breezy- vcs.org/ job/brz- 3.1/job/ brz-3.1- land/185/
https:/