~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/branch.py

Merge invalid-parent fix from John

Show diffs side-by-side

added added

removed removed

Lines of Context:
534
534
                rev = self.repository.get_revision(revision_id)
535
535
                new_history = rev.get_history(self.repository)[1:]
536
536
        destination.set_revision_history(new_history)
537
 
        parent = self.get_parent()
538
 
        if parent:
539
 
            destination.set_parent(parent)
 
537
        try:
 
538
            parent = self.get_parent()
 
539
        except errors.InaccessibleParent, e:
 
540
            mutter('parent was not accessible to copy: %s', e)
 
541
        else:
 
542
            if parent:
 
543
                destination.set_parent(parent)
540
544
 
541
545
    @needs_read_lock
542
546
    def check(self):
1170
1174
            # turn it into a url
1171
1175
            if parent.startswith('/'):
1172
1176
                parent = urlutils.local_path_to_url(parent.decode('utf8'))
1173
 
            return urlutils.join(self.base[:-1], parent)
 
1177
            try:
 
1178
                return urlutils.join(self.base[:-1], parent)
 
1179
            except errors.InvalidURLJoin, e:
 
1180
                raise errors.InaccessibleParent(parent, self.base)
1174
1181
        return None
1175
1182
 
1176
1183
    def get_push_location(self):