~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/memorytree.py

  • Committer: John Arbash Meinel
  • Date: 2009-03-06 20:42:40 UTC
  • mto: This revision was merged to the branch mainline in revision 4088.
  • Revision ID: john@arbash-meinel.com-20090306204240-mzjavv31z3gu1x7i
Fix a small bug in setup.py when an extension fails to build

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
"""MemoryTree object.
18
18
 
20
20
"""
21
21
 
22
22
 
 
23
from copy import deepcopy
23
24
import os
24
25
 
25
26
from bzrlib import (
211
212
 
212
213
    def _populate_from_branch(self):
213
214
        """Populate the in-tree state from the branch."""
214
 
        self._set_basis()
 
215
        self._basis_tree = self.branch.repository.revision_tree(
 
216
            self._branch_revision_id)
215
217
        if self._branch_revision_id == _mod_revision.NULL_REVISION:
216
218
            self._parent_ids = []
217
219
        else:
218
220
            self._parent_ids = [self._branch_revision_id]
219
 
        self._inventory = self._basis_tree._inventory._get_mutable_inventory()
 
221
        self._inventory = deepcopy(self._basis_tree._inventory)
220
222
        self._file_transport = MemoryTransport()
221
223
        # TODO copy the revision trees content, or do it lazy, or something.
222
224
        inventory_entries = self._inventory.iter_entries()
278
280
            _mod_revision.check_not_reserved_id(revision_id)
279
281
        if len(revision_ids) == 0:
280
282
            self._parent_ids = []
281
 
            self._branch_revision_id = _mod_revision.NULL_REVISION
 
283
            self._basis_tree = self.branch.repository.revision_tree(
 
284
                                    _mod_revision.NULL_REVISION)
282
285
        else:
283
286
            self._parent_ids = revision_ids
 
287
            self._basis_tree = self.branch.repository.revision_tree(
 
288
                                    revision_ids[0])
284
289
            self._branch_revision_id = revision_ids[0]
285
 
        self._allow_leftmost_as_ghost = allow_leftmost_as_ghost
286
 
        self._set_basis()
287
 
    
288
 
    def _set_basis(self):
289
 
        try:
290
 
            self._basis_tree = self.branch.repository.revision_tree(
291
 
                self._branch_revision_id)
292
 
        except errors.NoSuchRevision:
293
 
            if self._allow_leftmost_as_ghost:
294
 
                self._basis_tree = self.branch.repository.revision_tree(
295
 
                    _mod_revision.NULL_REVISION)
296
 
            else:
297
 
                raise
298
290
 
299
291
    def set_parent_trees(self, parents_list, allow_leftmost_as_ghost=False):
300
292
        """See MutableTree.set_parent_trees()."""