/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/shelf.py

  • Committer: Jelmer Vernooij
  • Date: 2017-11-19 18:35:20 UTC
  • mfrom: (6809.4.27 swap-arguments)
  • Revision ID: jelmer@jelmer.uk-20171119183520-fmw89uw30e0tbhwz
Merge lp:~jelmer/brz/swap-arguments.

Show diffs side-by-side

added added

removed removed

Lines of Context:
125
125
                if kind[0] != kind [1]:
126
126
                    yield ('change kind', file_id, kind[0], kind[1], paths[0])
127
127
                elif kind[0] == 'symlink':
128
 
                    t_target = self.target_tree.get_symlink_target(file_id)
129
 
                    w_target = self.work_tree.get_symlink_target(file_id)
 
128
                    t_target = self.target_tree.get_symlink_target(
 
129
                            paths[0], file_id)
 
130
                    w_target = self.work_tree.get_symlink_target(
 
131
                            paths[1], file_id)
130
132
                    yield ('modify target', file_id, paths[0], t_target,
131
133
                            w_target)
132
134
                elif changed:
178
180
        :param new_target: The target that the symlink should have due
179
181
            to shelving.
180
182
        """
181
 
        new_target = self.target_tree.get_symlink_target(file_id)
 
183
        new_path = self.target_tree.id2path(file_id)
 
184
        new_target = self.target_tree.get_symlink_target(new_path, file_id)
182
185
        w_trans_id = self.work_transform.trans_id_file_id(file_id)
183
186
        self.work_transform.delete_contents(w_trans_id)
184
187
        self.work_transform.create_symlink(new_target, w_trans_id)
185
188
 
186
 
        old_target = self.work_tree.get_symlink_target(file_id)
 
189
        old_path = self.work_tree.id2path(file_id)
 
190
        old_target = self.work_tree.get_symlink_target(old_path, file_id)
187
191
        s_trans_id = self.shelf_transform.trans_id_file_id(file_id)
188
192
        self.shelf_transform.delete_contents(s_trans_id)
189
193
        self.shelf_transform.create_symlink(old_target, s_trans_id)
207
211
    def _content_from_tree(tt, tree, file_id):
208
212
        trans_id = tt.trans_id_file_id(file_id)
209
213
        tt.delete_contents(trans_id)
210
 
        transform.create_from_tree(tt, trans_id, tree, file_id)
 
214
        transform.create_from_tree(tt, trans_id, tree, tree.id2path(file_id),
 
215
                                   file_id)
211
216
 
212
217
    def shelve_content_change(self, file_id):
213
218
        """Shelve a kind change or binary file content change.
263
268
                if kind is None:
264
269
                    to_transform.create_file('', s_trans_id)
265
270
                else:
266
 
                    transform.create_from_tree(to_transform, s_trans_id,
267
 
                                               tree, file_id)
 
271
                    transform.create_from_tree(
 
272
                            to_transform, s_trans_id, tree,
 
273
                            tree.id2path(file_id), file_id)
268
274
        if version:
269
275
            to_transform.version_file(file_id, s_trans_id)
270
276
 
271
277
    def _inverse_lines(self, new_lines, file_id):
272
278
        """Produce a version with only those changes removed from new_lines."""
273
 
        target_lines = self.target_tree.get_file_lines(file_id)
274
 
        work_lines = self.work_tree.get_file_lines(file_id)
 
279
        target_path = self.target_tree.id2path(file_id)
 
280
        target_lines = self.target_tree.get_file_lines(target_path, file_id)
 
281
        work_path = self.work_tree.id2path(file_id)
 
282
        work_lines = self.work_tree.get_file_lines(work_path, file_id)
275
283
        return merge3.Merge3(new_lines, target_lines, work_lines).merge_lines()
276
284
 
277
285
    def finalize(self):