/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/send.py

  • Committer: Neil Santos
  • Date: 2010-03-04 02:43:41 UTC
  • mto: (5080.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 5081.
  • Revision ID: neil_santos@users.sourceforge.net-20100304024341-ra7njxj4lzjb46rl
Removed separate lstat() and reverted LocalTransport and SFTPTransport's stat() methods to using lstat() internally.
Reworked how SFTPTransport's symlink() handles success and signals failure.
Removed lstat() declaration on the Transport base class.

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
17
 
18
 
import os
19
18
import time
20
19
 
21
20
from bzrlib import (
110
109
            if len(revision) == 2:
111
110
                base_revision_id = revision[0].as_revision_id(branch)
112
111
        if revision_id is None:
113
 
            if tree is not None:
114
 
                tree.check_changed_or_out_of_date(
115
 
                    strict, 'send_strict',
116
 
                    more_error='Use --no-strict to force the send.',
117
 
                    more_warning='Uncommitted changes will not be sent.')
 
112
            if strict is None:
 
113
                strict = branch.get_config(
 
114
                    ).get_user_option_as_bool('send_strict')
 
115
            if strict is None: strict = True # default value
 
116
            if strict and tree is not None:
 
117
                if (tree.has_changes()):
 
118
                    raise errors.UncommittedChanges(
 
119
                        tree, more='Use --no-strict to force the send.')
 
120
                if tree.last_revision() != tree.branch.last_revision():
 
121
                    # The tree has lost sync with its branch, there is little
 
122
                    # chance that the user is aware of it but he can still force
 
123
                    # the send with --no-strict
 
124
                    raise errors.OutOfDateTree(
 
125
                        tree, more='Use --no-strict to force the send.')
118
126
            revision_id = branch.last_revision()
119
127
        if revision_id == NULL_REVISION:
120
128
            raise errors.BzrCommandError('No revisions to submit.')
126
134
            directive.compose_merge_request(mail_client, mail_to, body,
127
135
                                            branch, tree)
128
136
        else:
129
 
            if directive.multiple_output_files:
130
 
                if output == '-':
131
 
                    raise errors.BzrCommandError('- not supported for '
132
 
                        'merge directives that use more than one output file.')
133
 
                if not os.path.exists(output):
134
 
                    os.mkdir(output, 0755)
135
 
                for (filename, lines) in directive.to_files():
136
 
                    path = os.path.join(output, filename)
137
 
                    outfile = open(path, 'wb')
138
 
                    try:
139
 
                        outfile.writelines(lines)
140
 
                    finally:
141
 
                        outfile.close()
 
137
            if output == '-':
 
138
                outfile = to_file
142
139
            else:
143
 
                if output == '-':
144
 
                    outfile = to_file
145
 
                else:
146
 
                    outfile = open(output, 'wb')
147
 
                try:
148
 
                    outfile.writelines(directive.to_lines())
149
 
                finally:
150
 
                    if outfile is not to_file:
151
 
                        outfile.close()
 
140
                outfile = open(output, 'wb')
 
141
            try:
 
142
                outfile.writelines(directive.to_lines())
 
143
            finally:
 
144
                if outfile is not to_file:
 
145
                    outfile.close()
152
146
    finally:
153
147
        branch.unlock()
154
148