~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/builtins.py

  • Committer: Martin Pool
  • Date: 2005-09-01 12:59:42 UTC
  • Revision ID: mbp@sourcefrog.net-20050901125942-25443d6a887b9fab
- better explanation when merge fails with AmbiguousBase

Show diffs side-by-side

added added

removed removed

Lines of Context:
1144
1144
class cmd_merge(Command):
1145
1145
    """Perform a three-way merge.
1146
1146
    
1147
 
    The branch is the branch you will merge from.  By default, it will merge
1148
 
    the latest revision.  If you specify a revision, that revision will be
1149
 
    merged.  If you specify two revisions, the first will be used as a BASE, 
1150
 
    and the second one as OTHER.  Revision numbers are always relative to the
1151
 
    specified branch.
 
1147
    The branch is the branch you will merge from.  By default, it will
 
1148
    merge the latest revision.  If you specify a revision, that
 
1149
    revision will be merged.  If you specify two revisions, the first
 
1150
    will be used as a BASE, and the second one as OTHER.  Revision
 
1151
    numbers are always relative to the specified branch.
 
1152
 
 
1153
    By default bzr will try to merge in all new work from the other
 
1154
    branch, automatically determining an appropriate base.  If this
 
1155
    fails, you may need to give an explicit base.
1152
1156
    
1153
1157
    Examples:
1154
1158
 
1188
1192
                        "Merge doesn't permit that revision specifier.")
1189
1193
                base = (branch, revision[0])
1190
1194
                other = (branch, revision[1])
1191
 
            
1192
 
        merge(other, base, check_clean=(not force), merge_type=merge_type)
 
1195
 
 
1196
        try:
 
1197
            merge(other, base, check_clean=(not force), merge_type=merge_type)
 
1198
        except bzrlib.errors.AmbiguousBase, e:
 
1199
            m = ("sorry, bzr can't determine the write merge base yet\n"
 
1200
                 "candidates are:\n  "
 
1201
                 + "\n  ".join(e.bases)
 
1202
                 + "\n"
 
1203
                 "please specify an explicit base with -r,\n"
 
1204
                 "and (if you want) report this to the bzr developers\n")
 
1205
            log_error(m)
1193
1206
 
1194
1207
 
1195
1208
class cmd_revert(Command):