~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/branch.py

  • Committer: Robert Collins
  • Date: 2005-10-18 13:11:57 UTC
  • mfrom: (1185.16.72) (0.2.1)
  • Revision ID: robertc@robertcollins.net-20051018131157-76a9970aa78e927e
Merged Martin.

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
from bzrlib.trace import mutter, note
29
29
from bzrlib.osutils import (isdir, quotefn, compact_date, rand_bytes, 
30
30
                            rename, splitpath, sha_file, appendpath, 
31
 
                            file_kind)
 
31
                            file_kind, abspath)
32
32
import bzrlib.errors as errors
33
33
from bzrlib.errors import (BzrError, InvalidRevisionNumber, InvalidRevisionId,
34
34
                           NoSuchRevision, HistoryMissing, NotBranchError,
35
35
                           DivergedBranches, LockError, UnlistableStore,
36
 
                           UnlistableBranch, NoSuchFile)
 
36
                           UnlistableBranch, NoSuchFile, NotVersionedError)
37
37
from bzrlib.textui import show_status
38
38
from bzrlib.revision import Revision, is_ancestor, get_intervening_revisions
39
39
 
136
136
            new_t = t.clone('..')
137
137
            if new_t.base == t.base:
138
138
                # reached the root, whatever that may be
139
 
                raise NotBranchError('%s is not in a branch' % url)
 
139
                raise NotBranchError(path=url)
140
140
            t = new_t
141
141
 
142
142
    @staticmethod
496
496
        try:
497
497
            fmt = self.controlfile('branch-format', 'r').read()
498
498
        except NoSuchFile:
499
 
            raise NotBranchError(self.base)
 
499
            raise NotBranchError(path=self.base)
500
500
        mutter("got branch format %r", fmt)
501
501
        if fmt == BZR_BRANCH_FORMAT_6:
502
502
            self._branch_format = 6
657
657
 
658
658
        These are files in the working directory that are not versioned or
659
659
        control files or ignored.
 
660
        
660
661
        >>> from bzrlib.workingtree import WorkingTree
661
662
        >>> b = ScratchBranch(files=['foo', 'foo~'])
662
 
        >>> list(b.unknowns())
 
663
        >>> map(str, b.unknowns())
663
664
        ['foo']
664
665
        >>> b.add('foo')
665
666
        >>> list(b.unknowns())
666
667
        []
667
668
        >>> WorkingTree(b.base, b).remove('foo')
668
669
        >>> list(b.unknowns())
669
 
        ['foo']
 
670
        [u'foo']
670
671
        """
671
672
        return self.working_tree().unknowns()
672
673
 
949
950
    def working_tree(self):
950
951
        """Return a `Tree` for the working copy."""
951
952
        from bzrlib.workingtree import WorkingTree
952
 
        # TODO: In the future, WorkingTree should utilize Transport
 
953
        # TODO: In the future, perhaps WorkingTree should utilize Transport
953
954
        # RobertCollins 20051003 - I don't think it should - working trees are
954
955
        # much more complex to keep consistent than our careful .bzr subset.
955
956
        # instead, we should say that working trees are local only, and optimise
1082
1083
            If true (default) backups are made of files before
1083
1084
            they're renamed.
1084
1085
        """
1085
 
        from bzrlib.errors import NotVersionedError, BzrError
1086
1086
        from bzrlib.atomicfile import AtomicFile
1087
1087
        from bzrlib.osutils import backup_file
1088
1088
        
1095
1095
        for fn in filenames:
1096
1096
            file_id = inv.path2id(fn)
1097
1097
            if not file_id:
1098
 
                raise NotVersionedError("not a versioned file", fn)
 
1098
                raise NotVersionedError(path=fn)
1099
1099
            if not old_inv.has_id(file_id):
1100
1100
                raise BzrError("file not present in old tree", fn, file_id)
1101
1101
            nids.append((fn, file_id))