~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/commit.py

  • Committer: Martin Pool
  • Date: 2009-12-11 05:29:35 UTC
  • mto: This revision was merged to the branch mainline in revision 4892.
  • Revision ID: mbp@sourcefrog.net-20091211052935-4zh2rzzs1djtoih6
Clearer syntax error message from ScriptRunner

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2010 Canonical Ltd
 
1
# Copyright (C) 2005, 2006, 2007, 2008 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
49
49
# TODO: Change the parameter 'rev_id' to 'revision_id' to be consistent with
50
50
# the rest of the code; add a deprecation of the old name.
51
51
 
 
52
import os
 
53
import re
 
54
import sys
 
55
import time
 
56
 
 
57
from cStringIO import StringIO
 
58
 
52
59
from bzrlib import (
53
60
    debug,
54
61
    errors,
55
62
    revision,
56
63
    trace,
57
64
    tree,
 
65
    xml_serializer,
58
66
    )
59
67
from bzrlib.branch import Branch
60
68
from bzrlib.cleanup import OperationWithCleanups
64
72
                           StrictCommitFailed
65
73
                           )
66
74
from bzrlib.osutils import (get_user_encoding,
67
 
                            is_inside_any,
 
75
                            kind_marker, isdir,isfile, is_inside_any,
 
76
                            is_inside_or_parent_of_any,
68
77
                            minimum_path_selection,
 
78
                            quotefn, sha_file, split_lines,
69
79
                            splitpath,
70
80
                            )
71
 
from bzrlib.trace import mutter, note, is_quiet
 
81
from bzrlib.testament import Testament
 
82
from bzrlib.trace import mutter, note, warning, is_quiet
72
83
from bzrlib.inventory import Inventory, InventoryEntry, make_entry
73
84
from bzrlib import symbol_versioning
 
85
from bzrlib.symbol_versioning import (deprecated_passed,
 
86
        deprecated_function,
 
87
        DEPRECATED_PARAMETER)
 
88
from bzrlib.workingtree import WorkingTree
74
89
from bzrlib.urlutils import unescape_for_display
75
90
import bzrlib.ui
76
91
 
132
147
 
133
148
    def completed(self, revno, rev_id):
134
149
        self._note('Committed revision %d.', revno)
135
 
        # self._note goes to the console too; so while we want to log the
136
 
        # rev_id, we can't trivially only log it. (See bug 526425). Long
137
 
        # term we should rearrange the reporting structure, but for now
138
 
        # we just mutter seperately. We mutter the revid and revno together
139
 
        # so that concurrent bzr invocations won't lead to confusion.
140
 
        mutter('Committed revid %s as revno %d.', rev_id, revno)
141
150
 
142
151
    def deleted(self, path):
143
152
        self._note('deleted %s', path)
227
236
            commit.
228
237
        """
229
238
        operation = OperationWithCleanups(self._commit)
230
 
        self.revprops = revprops or {}
231
 
        # XXX: Can be set on __init__ or passed in - this is a bit ugly.
232
 
        self.config = config or self.config
233
239
        return operation.run(
234
240
               message=message,
235
241
               timestamp=timestamp,
240
246
               allow_pointless=allow_pointless,
241
247
               strict=strict,
242
248
               verbose=verbose,
 
249
               revprops=revprops,
243
250
               working_tree=working_tree,
244
251
               local=local,
245
252
               reporter=reporter,
 
253
               config=config,
246
254
               message_callback=message_callback,
247
255
               recursive=recursive,
248
256
               exclude=exclude,
249
257
               possible_master_transports=possible_master_transports)
250
258
 
251
259
    def _commit(self, operation, message, timestamp, timezone, committer,
252
 
            specific_files, rev_id, allow_pointless, strict, verbose,
253
 
            working_tree, local, reporter, message_callback, recursive,
 
260
            specific_files, rev_id, allow_pointless, strict, verbose, revprops,
 
261
            working_tree, local, reporter, config, message_callback, recursive,
254
262
            exclude, possible_master_transports):
255
263
        mutter('preparing to commit')
256
264
 
291
299
            self.specific_files = None
292
300
            
293
301
        self.allow_pointless = allow_pointless
 
302
        self.revprops = revprops
294
303
        self.message_callback = message_callback
295
304
        self.timestamp = timestamp
296
305
        self.timezone = timezone
362
371
        # Collect the changes
363
372
        self._set_progress_stage("Collecting changes", counter=True)
364
373
        self.builder = self.branch.get_commit_builder(self.parents,
365
 
            self.config, timestamp, timezone, committer, self.revprops, rev_id)
 
374
            self.config, timestamp, timezone, committer, revprops, rev_id)
366
375
 
367
376
        try:
368
377
            self.builder.will_record_deletes()