/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/reconfigure.py

  • Committer: Ian Clatworthy
  • Date: 2009-10-27 09:45:35 UTC
  • mto: (4634.103.1 385879)
  • mto: This revision was merged to the branch mainline in revision 4857.
  • Revision ID: ian.clatworthy@canonical.com-20091027094535-wii07udtqgtsxbp4
Use the working tree for path lookups as Robert suggested. We still need to fall back to the other tree though in the case of files being added.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2007-2010 Canonical Ltd
 
1
# Copyright (C) 2007, 2009 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
82
82
            self.repository = None
83
83
            self.local_repository = None
84
84
        else:
85
 
            if (self.repository.user_url == self.bzrdir.user_url):
 
85
            if (self.repository.bzrdir.root_transport.base ==
 
86
                self.bzrdir.root_transport.base):
86
87
                self.local_repository = self.repository
87
88
            else:
88
89
                self.local_repository = None
89
90
        try:
90
91
            branch = self.bzrdir.open_branch()
91
 
            if branch.user_url == bzrdir.user_url:
 
92
            if branch.bzrdir.root_transport.base == bzrdir.root_transport.base:
92
93
                self.local_branch = branch
93
94
                self.referenced_branch = None
94
95
            else:
216
217
            if not want_reference:
217
218
                self._create_repository = True
218
219
        else:
219
 
            if want_reference and (
220
 
                self.repository.user_url == self.bzrdir.user_url):
 
220
            if want_reference and (self.repository.bzrdir.root_transport.base
 
221
                                   == self.bzrdir.root_transport.base):
221
222
                if not self.repository.is_shared():
222
223
                    self._destroy_repository = True
223
224
        if self.referenced_branch is None:
264
265
 
265
266
    def _check(self):
266
267
        """Raise if reconfiguration would destroy local changes"""
267
 
        if self._destroy_tree and self.tree.has_changes():
 
268
        if self._destroy_tree:
 
269
            # XXX: What about pending merges ? -- vila 20090629
 
270
            if self.tree.has_changes(self.tree.basis_tree()):
268
271
                raise errors.UncommittedChanges(self.tree)
269
272
        if self._create_reference and self.local_branch is not None:
270
273
            reference_branch = branch.Branch.open(self._select_bind_location())
343
346
            if self._create_reference:
344
347
                reference_branch.repository.fetch(self.repository)
345
348
            elif self.local_branch is not None and not self._destroy_branch:
346
 
                up = self.local_branch.user_transport.clone('..')
 
349
                up = self.local_branch.bzrdir.root_transport.clone('..')
347
350
                up_bzrdir = bzrdir.BzrDir.open_containing_from_transport(up)[0]
348
351
                new_repo = up_bzrdir.find_repository()
349
352
                new_repo.fetch(self.repository)
367
370
            local_branch = self.local_branch
368
371
        if self._create_reference:
369
372
            format = branch.BranchReferenceFormat().initialize(self.bzrdir,
370
 
                target_branch=reference_branch)
 
373
                reference_branch)
371
374
        if self._destroy_tree:
372
375
            self.bzrdir.destroy_workingtree()
373
376
        if self._create_tree: