/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 bzrlib/merge.py

  • Committer: Robert Collins
  • Date: 2005-09-14 09:10:07 UTC
  • mto: This revision was merged to the branch mainline in revision 1397.
  • Revision ID: robertc@robertcollins.net-20050914091007-4590421fb17cbcd7
apply the symlink revert patch from Aaron Bentley

Show diffs side-by-side

added added

removed removed

Lines of Context:
171
171
        self.tree = tree
172
172
        self.tempdir = tempdir
173
173
        os.mkdir(os.path.join(self.tempdir, "texts"))
 
174
        os.mkdir(os.path.join(self.tempdir, "symlinks"))
174
175
        self.cached = {}
175
176
 
176
177
    def __iter__(self):
207
208
        if self.root is not None:
208
209
            return self.tree.abspath(self.tree.id2path(id))
209
210
        else:
210
 
            if self.tree.inventory[id].kind in ("directory", "root_directory"):
 
211
            kind = self.tree.inventory[id].kind
 
212
            if kind in ("directory", "root_directory"):
211
213
                return self.tempdir
212
214
            if not self.cached.has_key(id):
213
 
                path = os.path.join(self.tempdir, "texts", id)
214
 
                outfile = file(path, "wb")
215
 
                outfile.write(self.tree.get_file(id).read())
216
 
                assert(os.path.exists(path))
 
215
                if kind == "file":
 
216
                    path = os.path.join(self.tempdir, "texts", id)
 
217
                    outfile = file(path, "wb")
 
218
                    outfile.write(self.tree.get_file(id).read())
 
219
                    assert(os.path.exists(path))
 
220
                else:
 
221
                    assert kind == "symlink"
 
222
                    path = os.path.join(self.tempdir, "symlinks", id)
 
223
                    target = self.tree.get_symlink_target(id)
 
224
                    os.symlink(target, path)
217
225
                self.cached[id] = path
218
226
            return self.cached[id]
219
227