~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/merge_directive.py

  • Committer: James Westby
  • Date: 2008-07-12 00:52:42 UTC
  • mto: (3592.1.1 ianc-integration)
  • mto: This revision was merged to the branch mainline in revision 3594.
  • Revision ID: jw+debian@jameswestby.net-20080712005242-evds1umvhyshu7er
Handle something that isn't a branch being specified in target_branch.

It's possible to create a merge directive where the target_branch isn't
a branch by the time that it gets to be merged, either because it uses
a local path not on the system where it is being merged, or the branch
has been deleted.

If this is the case and the target_branch needs to be consulted to
retrieve missing revisions then a NotBranchError was raised, which
was quite confusing. This provides a more precise error in that case.

Show diffs side-by-side

added added

removed removed

Lines of Context:
210
210
                except errors.RevisionNotPresent:
211
211
                    # At least one dependency isn't present.  Try installing
212
212
                    # missing revisions from the submit branch
213
 
                    submit_branch = _mod_branch.Branch.open(self.target_branch)
 
213
                    try:
 
214
                        submit_branch = \
 
215
                            _mod_branch.Branch.open(self.target_branch)
 
216
                    except errors.NotBranchError:
 
217
                        raise errors.TargetNotBranch(self.target_branch)
214
218
                    missing_revisions = []
215
219
                    bundle_revisions = set(r.revision_id for r in
216
220
                                           info.real_revisions)