/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/push.py

  • Committer: Martin von Gagern
  • Date: 2011-05-27 12:01:22 UTC
  • mto: (5939.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 5940.
  • Revision ID: martin.vgagern@gmx.net-20110527120122-7f2yvh17wrech14v
Use move instead of rename when adding packs to repository.

A rename might fail (e.g. on sftp) if the target file does exist. This is
because rename is guaranteed to be atomic.  The move operation, on the other
hand, does guarantee deletion of any existing target if possible, so it is
more appropriate here, where we are not dealing with locks but with content
files.

Show diffs side-by-side

added added

removed removed

Lines of Context:
57
57
 
58
58
def _show_push_branch(br_from, revision_id, location, to_file, verbose=False,
59
59
    overwrite=False, remember=False, stacked_on=None, create_prefix=False,
60
 
    use_existing_dir=False):
 
60
    use_existing_dir=False, no_tree=False):
61
61
    """Push a branch to a location.
62
62
 
63
63
    :param br_from: the source branch
87
87
        try:
88
88
            br_to = br_from.create_clone_on_transport(to_transport,
89
89
                revision_id=revision_id, stacked_on=stacked_on,
90
 
                create_prefix=create_prefix, use_existing_dir=use_existing_dir)
 
90
                create_prefix=create_prefix, use_existing_dir=use_existing_dir,
 
91
                no_tree=no_tree)
91
92
        except errors.FileExists, err:
92
93
            if err.path.endswith('/.bzr'):
93
94
                raise errors.BzrCommandError(
128
129
        push_result.target_branch = br_to
129
130
        push_result.old_revid = _mod_revision.NULL_REVISION
130
131
        push_result.old_revno = 0
131
 
        if br_from.get_push_location() is None or remember:
 
132
        # Remembers if asked explicitly or no previous location is set
 
133
        if (remember
 
134
            or (remember is None and br_from.get_push_location() is None)):
132
135
            br_from.set_push_location(br_to.base)
133
136
    else:
134
137
        if stacked_on is not None: