~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/foreign.py

  • Committer: Vincent Ladeuil
  • Date: 2010-04-12 16:54:35 UTC
  • mto: (5148.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 5151.
  • Revision ID: v.ladeuil+lp@free.fr-20100412165435-gzdnwuybj9rvddiz
Fix bug #519319 by defaulting to a warning for dirty trees.

* bzrlib/mutabletree.py:
(MutableTree.warn_if_changed_or_out_of_date): Factor out the
checks done by send, push and dpush.

* bzrlib/send.py:
(send): Use warn_if_changed_or_out_of_date().

* bzrlib/foreign.py:
(cmd_dpush.run): Use warn_if_changed_or_out_of_date().

* bzrlib/builtins.py:
(cmd_push.run): Use warn_if_changed_or_out_of_date().

Show diffs side-by-side

added added

removed removed

Lines of Context:
296
296
        except NoWorkingTree:
297
297
            source_branch = Branch.open(directory)
298
298
            source_wt = None
299
 
        if strict is None:
300
 
            strict = source_branch.get_config(
301
 
                ).get_user_option_as_bool('dpush_strict')
302
 
        if strict is None: strict = True # default value
303
 
        if strict and source_wt is not None:
304
 
            if (source_wt.has_changes()):
305
 
                raise errors.UncommittedChanges(
306
 
                    source_wt, more='Use --no-strict to force the push.')
307
 
            if source_wt.last_revision() != source_wt.branch.last_revision():
308
 
                # The tree has lost sync with its branch, there is little
309
 
                # chance that the user is aware of it but he can still force
310
 
                # the push with --no-strict
311
 
                raise errors.OutOfDateTree(
312
 
                    source_wt, more='Use --no-strict to force the push.')
 
299
        if source_wt is not None:
 
300
            source_wt.warn_if_changed_or_out_of_date(
 
301
                strict, 'dpush_strict', 'Use --no-strict to force the push.')
313
302
        stored_loc = source_branch.get_push_location()
314
303
        if location is None:
315
304
            if stored_loc is None: