bzr branch
http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
| 
5557.1.11
by John Arbash Meinel
 Remove extra pdb stuff  | 
1  | 
# Copyright (C) 2005-2011 Canonical Ltd
 | 
| 
1887.1.1
by Adeodato Simó
 Do not separate paragraphs in the copyright statement with blank lines,  | 
2  | 
#
 | 
| 
485
by Martin Pool
 - move commit code into its own module  | 
3  | 
# This program is free software; you can redistribute it and/or modify
 | 
4  | 
# it under the terms of the GNU General Public License as published by
 | 
|
5  | 
# the Free Software Foundation; either version 2 of the License, or
 | 
|
6  | 
# (at your option) any later version.
 | 
|
| 
1248
by Martin Pool
 - new weave based cleanup [broken]  | 
7  | 
#
 | 
| 
485
by Martin Pool
 - move commit code into its own module  | 
8  | 
# This program is distributed in the hope that it will be useful,
 | 
9  | 
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
|
10  | 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
|
11  | 
# GNU General Public License for more details.
 | 
|
| 
1248
by Martin Pool
 - new weave based cleanup [broken]  | 
12  | 
#
 | 
| 
485
by Martin Pool
 - move commit code into its own module  | 
13  | 
# You should have received a copy of the GNU General Public License
 | 
14  | 
# along with this program; if not, write to the Free Software
 | 
|
| 
4183.7.1
by Sabin Iacob
 update FSF mailing address  | 
15  | 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 | 
| 
485
by Martin Pool
 - move commit code into its own module  | 
16  | 
|
| 
6379.6.1
by Jelmer Vernooij
 Import absolute_import in a few places.  | 
17  | 
from __future__ import absolute_import  | 
| 
485
by Martin Pool
 - move commit code into its own module  | 
18  | 
|
| 
2921.4.6
by Robert Collins
 Typos found by Rob Weir.  | 
19  | 
# The newly committed revision is going to have a shape corresponding
 | 
| 
2921.4.4
by Robert Collins
 Minor import cleanup in commit.py.  | 
20  | 
# to that of the working tree.  Files that are not in the
 | 
| 
1248
by Martin Pool
 - new weave based cleanup [broken]  | 
21  | 
# working tree and that were in the predecessor are reported as
 | 
22  | 
# removed --- this can include files that were either removed from the
 | 
|
23  | 
# inventory or deleted in the working tree.  If they were only
 | 
|
24  | 
# deleted from disk, they are removed from the working inventory.
 | 
|
25  | 
||
26  | 
# We then consider the remaining entries, which will be in the new
 | 
|
27  | 
# version.  Directory entries are simply copied across.  File entries
 | 
|
28  | 
# must be checked to see if a new version of the file should be
 | 
|
| 
2921.4.4
by Robert Collins
 Minor import cleanup in commit.py.  | 
29  | 
# recorded.  For each parent revision tree, we check to see what
 | 
| 
1248
by Martin Pool
 - new weave based cleanup [broken]  | 
30  | 
# version of the file was present.  If the file was present in at
 | 
31  | 
# least one tree, and if it was the same version in all the trees,
 | 
|
32  | 
# then we can just refer to that version.  Otherwise, a new version
 | 
|
33  | 
# representing the merger of the file versions must be added.
 | 
|
34  | 
||
35  | 
# TODO: Update hashcache before and after - or does the WorkingTree
 | 
|
36  | 
# look after that?
 | 
|
| 
1245
by Martin Pool
 doc  | 
37  | 
|
| 
1339
by Martin Pool
 - doc  | 
38  | 
# TODO: Rather than mashing together the ancestry and storing it back,
 | 
39  | 
# perhaps the weave should have single method which does it all in one
 | 
|
40  | 
# go, avoiding a lot of redundant work.
 | 
|
| 
1335
by Martin Pool
 doc  | 
41  | 
|
| 
1341
by Martin Pool
 - doc  | 
42  | 
# TODO: Perhaps give a warning if one of the revisions marked as
 | 
43  | 
# merged is already in the ancestry, and then don't record it as a
 | 
|
44  | 
# distinct parent.
 | 
|
45  | 
||
| 
1343
by Martin Pool
 - fix up test for merge of trees  | 
46  | 
# TODO: If the file is newly merged but unchanged from the version it
 | 
47  | 
# merges from, then it should still be reported as newly added
 | 
|
48  | 
# relative to the basis revision.
 | 
|
49  | 
||
| 
1910.7.17
by Andrew Bennetts
 Various cosmetic changes.  | 
50  | 
# TODO: Change the parameter 'rev_id' to 'revision_id' to be consistent with
 | 
51  | 
# the rest of the code; add a deprecation of the old name.
 | 
|
| 
1194
by Martin Pool
 - [BROKEN] more progress of commit into weaves  | 
52  | 
|
| 
6624
by Jelmer Vernooij
 Merge Python3 porting work ('py3 pokes')  | 
53  | 
from . import (  | 
| 
2560.1.4
by Robert Collins
 Allow -Dhooks to get the hooks invoked during commit logged.  | 
54  | 
debug,  | 
| 
1551.8.30
by Aaron Bentley
 Tweak from review comments  | 
55  | 
errors,  | 
| 
3830.3.3
by Martin Pool
 commit should log original exception when aborting write group  | 
56  | 
trace,  | 
| 
5582.10.6
by Jelmer Vernooij
 Fix ui imports.  | 
57  | 
ui,  | 
| 
1551.8.30
by Aaron Bentley
 Tweak from review comments  | 
58  | 
    )
 | 
| 
6624
by Jelmer Vernooij
 Merge Python3 porting work ('py3 pokes')  | 
59  | 
from .branch import Branch  | 
60  | 
from .cleanup import OperationWithCleanups  | 
|
| 
6622.1.34
by Jelmer Vernooij
 Rename brzlib => breezy.  | 
61  | 
import breezy.config  | 
| 
6734.1.20
by Jelmer Vernooij
 Move errors.  | 
62  | 
from .errors import (BzrError,  | 
| 
6624
by Jelmer Vernooij
 Merge Python3 porting work ('py3 pokes')  | 
63  | 
ConflictsInTree,  | 
64  | 
                     StrictCommitFailed
 | 
|
65  | 
                     )
 | 
|
66  | 
from .osutils import (get_user_encoding,  | 
|
67  | 
is_inside_any,  | 
|
68  | 
minimum_path_selection,  | 
|
69  | 
                      )
 | 
|
70  | 
from .trace import mutter, note, is_quiet  | 
|
71  | 
from .urlutils import unescape_for_display  | 
|
72  | 
from .i18n import gettext  | 
|
73  | 
||
| 
1189
by Martin Pool
 - BROKEN: partial support for commit into weave  | 
74  | 
|
| 
6734.1.20
by Jelmer Vernooij
 Move errors.  | 
75  | 
class PointlessCommit(BzrError):  | 
76  | 
||
77  | 
_fmt = "No changes to commit"  | 
|
78  | 
||
79  | 
||
80  | 
class CannotCommitSelectedFileMerge(BzrError):  | 
|
81  | 
||
82  | 
_fmt = 'Selected-file commit of merges is not supported yet:'\  | 
|
83  | 
' files %(files_str)s'  | 
|
84  | 
||
85  | 
def __init__(self, files):  | 
|
86  | 
files_str = ', '.join(files)  | 
|
87  | 
BzrError.__init__(self, files=files, files_str=files_str)  | 
|
88  | 
||
89  | 
||
| 
6699.1.1
by Jelmer Vernooij
 Support excludes with "bzr commit -x".  | 
90  | 
def filter_excluded(iter_changes, exclude):  | 
91  | 
"""Filter exclude filenames.  | 
|
92  | 
||
93  | 
    :param iter_changes: iter_changes function
 | 
|
94  | 
    :param exclude: List of paths to exclude
 | 
|
95  | 
    :return: iter_changes function
 | 
|
96  | 
    """
 | 
|
97  | 
for change in iter_changes:  | 
|
98  | 
old_path = change[1][0]  | 
|
99  | 
new_path = change[1][1]  | 
|
100  | 
||
101  | 
new_excluded = (new_path is not None and  | 
|
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
102  | 
is_inside_any(exclude, new_path))  | 
| 
6699.1.1
by Jelmer Vernooij
 Support excludes with "bzr commit -x".  | 
103  | 
|
104  | 
old_excluded = (old_path is not None and  | 
|
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
105  | 
is_inside_any(exclude, old_path))  | 
| 
6699.1.1
by Jelmer Vernooij
 Support excludes with "bzr commit -x".  | 
106  | 
|
107  | 
if old_excluded and new_excluded:  | 
|
108  | 
            continue
 | 
|
109  | 
||
110  | 
if old_excluded or new_excluded:  | 
|
111  | 
            # TODO(jelmer): Perhaps raise an error here instead?
 | 
|
112  | 
            continue
 | 
|
113  | 
||
114  | 
yield change  | 
|
115  | 
||
116  | 
||
| 
1189
by Martin Pool
 - BROKEN: partial support for commit into weave  | 
117  | 
class NullCommitReporter(object):  | 
118  | 
"""I report on progress of a commit."""  | 
|
| 
1185.12.8
by Aaron Bentley
 Fixed commit so all output comes though CommitReporter  | 
119  | 
|
| 
6630.1.1
by Jelmer Vernooij
 Remove deprecated functionality.  | 
120  | 
def started(self, revno, revid, location):  | 
| 
2789.2.10
by Ian Clatworthy
 focus on performance gains, not better reporting  | 
121  | 
        pass
 | 
122  | 
||
123  | 
def snapshot_change(self, change, path):  | 
|
124  | 
        pass
 | 
|
125  | 
||
126  | 
def completed(self, revno, rev_id):  | 
|
127  | 
        pass
 | 
|
128  | 
||
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
129  | 
def deleted(self, path):  | 
| 
2789.2.10
by Ian Clatworthy
 focus on performance gains, not better reporting  | 
130  | 
        pass
 | 
131  | 
||
132  | 
def missing(self, path):  | 
|
133  | 
        pass
 | 
|
134  | 
||
135  | 
def renamed(self, change, old_path, new_path):  | 
|
136  | 
        pass
 | 
|
137  | 
||
| 
2789.2.11
by Ian Clatworthy
 remove more reporting stuff  | 
138  | 
def is_verbose(self):  | 
139  | 
return False  | 
|
140  | 
||
141  | 
||
142  | 
class ReportCommitToLog(NullCommitReporter):  | 
|
143  | 
||
| 
2511.1.1
by Ian Clatworthy
 commit.py clean-up including logging just to stderr, not bzr.log  | 
144  | 
def _note(self, format, *args):  | 
145  | 
"""Output a message.  | 
|
146  | 
||
| 
2522.2.3
by Ian Clatworthy
 Revert logging just to stderr in commit as broke unicode filenames (#120930)  | 
147  | 
        Subclasses may choose to override this method.
 | 
| 
2511.1.1
by Ian Clatworthy
 commit.py clean-up including logging just to stderr, not bzr.log  | 
148  | 
        """
 | 
| 
2522.2.3
by Ian Clatworthy
 Revert logging just to stderr in commit as broke unicode filenames (#120930)  | 
149  | 
note(format, *args)  | 
| 
1668.1.5
by Martin Pool
 [broken] fix up display of files changed by a commit  | 
150  | 
|
| 
2789.2.4
by Ian Clatworthy
 make change reporting smarter for initial commit  | 
151  | 
def snapshot_change(self, change, path):  | 
| 
6138.3.2
by Jonathan Riddell
 gettext-ify bzrlib/commit.py  | 
152  | 
if path == '' and change in (gettext('added'), gettext('modified')):  | 
| 
2789.2.10
by Ian Clatworthy
 focus on performance gains, not better reporting  | 
153  | 
            return
 | 
| 
2789.2.11
by Ian Clatworthy
 remove more reporting stuff  | 
154  | 
self._note("%s %s", change, path)  | 
| 
2789.2.4
by Ian Clatworthy
 make change reporting smarter for initial commit  | 
155  | 
|
| 
6630.1.3
by Jelmer Vernooij
 Make location argument non-optional.  | 
156  | 
def started(self, revno, rev_id, location):  | 
| 
6630.1.1
by Jelmer Vernooij
 Remove deprecated functionality.  | 
157  | 
self._note(  | 
158  | 
gettext('Committing to: %s'),  | 
|
159  | 
unescape_for_display(location, 'utf-8'))  | 
|
| 
2747.6.5
by Daniel Watkins
 Added 'started' hook to CommitReporters and moved location functionality from completed hook into it.  | 
160  | 
|
161  | 
def completed(self, revno, rev_id):  | 
|
| 
6138.3.2
by Jonathan Riddell
 gettext-ify bzrlib/commit.py  | 
162  | 
self._note(gettext('Committed revision %d.'), revno)  | 
| 
5086.6.2
by Robert Collins
 Log revision id as well as revno when committing.  | 
163  | 
        # self._note goes to the console too; so while we want to log the
 | 
164  | 
        # rev_id, we can't trivially only log it. (See bug 526425). Long
 | 
|
165  | 
        # term we should rearrange the reporting structure, but for now
 | 
|
166  | 
        # we just mutter seperately. We mutter the revid and revno together
 | 
|
167  | 
        # so that concurrent bzr invocations won't lead to confusion.
 | 
|
168  | 
mutter('Committed revid %s as revno %d.', rev_id, revno)  | 
|
| 
2789.2.4
by Ian Clatworthy
 make change reporting smarter for initial commit  | 
169  | 
|
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
170  | 
def deleted(self, path):  | 
| 
6138.3.2
by Jonathan Riddell
 gettext-ify bzrlib/commit.py  | 
171  | 
self._note(gettext('deleted %s'), path)  | 
| 
1185.12.8
by Aaron Bentley
 Fixed commit so all output comes though CommitReporter  | 
172  | 
|
173  | 
def missing(self, path):  | 
|
| 
6138.3.2
by Jonathan Riddell
 gettext-ify bzrlib/commit.py  | 
174  | 
self._note(gettext('missing %s'), path)  | 
| 
1189
by Martin Pool
 - BROKEN: partial support for commit into weave  | 
175  | 
|
| 
1668.1.5
by Martin Pool
 [broken] fix up display of files changed by a commit  | 
176  | 
def renamed(self, change, old_path, new_path):  | 
| 
2789.2.11
by Ian Clatworthy
 remove more reporting stuff  | 
177  | 
self._note('%s %s => %s', change, old_path, new_path)  | 
| 
1668.1.5
by Martin Pool
 [broken] fix up display of files changed by a commit  | 
178  | 
|
| 
2789.2.1
by Ian Clatworthy
 Make commit less verbose by default  | 
179  | 
def is_verbose(self):  | 
180  | 
return True  | 
|
181  | 
||
| 
1508.1.6
by Robert Collins
 Move Branch.unknowns() to WorkingTree.  | 
182  | 
|
| 
1189
by Martin Pool
 - BROKEN: partial support for commit into weave  | 
183  | 
class Commit(object):  | 
184  | 
"""Task of committing a new revision.  | 
|
185  | 
||
186  | 
    This is a MethodObject: it accumulates state as the commit is
 | 
|
187  | 
    prepared, and then it is discarded.  It doesn't represent
 | 
|
188  | 
    historical revisions, just the act of recording a new one.
 | 
|
189  | 
||
190  | 
            missing_ids
 | 
|
191  | 
            Modified to hold a list of files that have been deleted from
 | 
|
192  | 
            the working directory; these should be removed from the
 | 
|
193  | 
            working inventory.
 | 
|
| 
485
by Martin Pool
 - move commit code into its own module  | 
194  | 
    """
 | 
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
195  | 
|
| 
1189
by Martin Pool
 - BROKEN: partial support for commit into weave  | 
196  | 
def __init__(self,  | 
| 
1442.1.60
by Robert Collins
 gpg sign commits if the policy says we need to  | 
197  | 
reporter=None,  | 
| 
6351.3.2
by Jelmer Vernooij
 Convert some gpg options to config stacks.  | 
198  | 
config_stack=None):  | 
| 
2789.2.1
by Ian Clatworthy
 Make commit less verbose by default  | 
199  | 
"""Create a Commit object.  | 
200  | 
||
201  | 
        :param reporter: the default reporter to use or None to decide later
 | 
|
202  | 
        """
 | 
|
203  | 
self.reporter = reporter  | 
|
| 
6351.3.2
by Jelmer Vernooij
 Convert some gpg options to config stacks.  | 
204  | 
self.config_stack = config_stack  | 
| 
2789.2.10
by Ian Clatworthy
 focus on performance gains, not better reporting  | 
205  | 
|
| 
5162.4.1
by Aaron Bentley
 TreeTransform supports normal commit parameters and includes branch nick.  | 
206  | 
    @staticmethod
 | 
| 
6630.1.1
by Jelmer Vernooij
 Remove deprecated functionality.  | 
207  | 
def update_revprops(revprops, branch, authors=None,  | 
| 
5162.4.1
by Aaron Bentley
 TreeTransform supports normal commit parameters and includes branch nick.  | 
208  | 
local=False, possible_master_transports=None):  | 
209  | 
if revprops is None:  | 
|
210  | 
revprops = {}  | 
|
211  | 
if possible_master_transports is None:  | 
|
212  | 
possible_master_transports = []  | 
|
| 
7143.15.5
by Jelmer Vernooij
 More PEP8 fixes.  | 
213  | 
if (u'branch-nick' not in revprops and  | 
| 
6829.1.1
by Jelmer Vernooij
 Avoid setting branch nick if format doesn't support it.  | 
214  | 
branch.repository._format.supports_storing_branch_nick):  | 
| 
6973.12.3
by Jelmer Vernooij
 Fixes.  | 
215  | 
revprops[u'branch-nick'] = branch._get_nick(  | 
| 
5162.4.1
by Aaron Bentley
 TreeTransform supports normal commit parameters and includes branch nick.  | 
216  | 
local,  | 
217  | 
possible_master_transports)  | 
|
218  | 
if authors is not None:  | 
|
| 
6973.12.3
by Jelmer Vernooij
 Fixes.  | 
219  | 
if u'author' in revprops or u'authors' in revprops:  | 
| 
5162.4.1
by Aaron Bentley
 TreeTransform supports normal commit parameters and includes branch nick.  | 
220  | 
                # XXX: maybe we should just accept one of them?
 | 
221  | 
raise AssertionError('author property given twice')  | 
|
222  | 
if authors:  | 
|
223  | 
for individual in authors:  | 
|
224  | 
if '\n' in individual:  | 
|
225  | 
raise AssertionError('\\n is not a valid character '  | 
|
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
226  | 
'in an author identity')  | 
| 
6973.12.3
by Jelmer Vernooij
 Fixes.  | 
227  | 
revprops[u'authors'] = '\n'.join(authors)  | 
| 
5162.4.1
by Aaron Bentley
 TreeTransform supports normal commit parameters and includes branch nick.  | 
228  | 
return revprops  | 
229  | 
||
| 
1189
by Martin Pool
 - BROKEN: partial support for commit into weave  | 
230  | 
def commit(self,  | 
| 
2367.2.1
by Robert Collins
 Remove bzrlib 0.8 compatability where it was making the code unclear or messy. (Robert Collins)  | 
231  | 
message=None,  | 
| 
1189
by Martin Pool
 - BROKEN: partial support for commit into weave  | 
232  | 
timestamp=None,  | 
233  | 
timezone=None,  | 
|
234  | 
committer=None,  | 
|
235  | 
specific_files=None,  | 
|
236  | 
rev_id=None,  | 
|
| 
1276
by Martin Pool
 - make Branch.commit accept (and ignore) verbose argument  | 
237  | 
allow_pointless=True,  | 
| 
1185.16.65
by mbp at sourcefrog
 - new commit --strict option  | 
238  | 
strict=False,  | 
| 
2789.2.10
by Ian Clatworthy
 focus on performance gains, not better reporting  | 
239  | 
verbose=False,  | 
| 
1534.4.25
by Robert Collins
 Add a --transport parameter to the test suite to set the default transport to be used in the test suite.  | 
240  | 
revprops=None,  | 
| 
1587.1.8
by Robert Collins
 Local commits on unbound branches fail.  | 
241  | 
working_tree=None,  | 
| 
1607.1.5
by Robert Collins
 Make commit verbose mode work!.  | 
242  | 
local=False,  | 
243  | 
reporter=None,  | 
|
| 
2149.1.1
by Aaron Bentley
 Provide a message_callback parameter to tree.commit  | 
244  | 
config=None,  | 
| 
2255.2.218
by Robert Collins
 Make the nested tree commit smoke test be more rigourous.  | 
245  | 
message_callback=None,  | 
| 
3602.1.1
by Robert Collins
 Add support for -x or --exclude to bzr commit, fixing bug 3117. (Robert Collins)  | 
246  | 
recursive='down',  | 
| 
3565.6.9
by Marius Kruger
 Jump through hoops not to open multiple connections when committing to a bound branch.  | 
247  | 
exclude=None,  | 
| 
5777.6.1
by Jelmer Vernooij
 Add --lossy option to 'bzr commit'.  | 
248  | 
possible_master_transports=None,  | 
249  | 
lossy=False):  | 
|
| 
1189
by Martin Pool
 - BROKEN: partial support for commit into weave  | 
250  | 
"""Commit working copy as a new revision.  | 
251  | 
||
| 
2511.1.1
by Ian Clatworthy
 commit.py clean-up including logging just to stderr, not bzr.log  | 
252  | 
        :param message: the commit message (it or message_callback is required)
 | 
| 
7143.15.5
by Jelmer Vernooij
 More PEP8 fixes.  | 
253  | 
        :param message_callback: A callback: message =
 | 
254  | 
            message_callback(cmt_obj)
 | 
|
| 
2511.1.1
by Ian Clatworthy
 commit.py clean-up including logging just to stderr, not bzr.log  | 
255  | 
|
256  | 
        :param timestamp: if not None, seconds-since-epoch for a
 | 
|
257  | 
            postdated/predated commit.
 | 
|
258  | 
||
| 
4570.4.3
by Robert Collins
 Fix a couple of small bugs in the patch - use specific files with record_iter_changs, and the CLI shouldn't generate a filter of [] for commit.  | 
259  | 
        :param specific_files: If not None, commit only those files. An empty
 | 
260  | 
            list means 'commit no files'.
 | 
|
| 
2511.1.1
by Ian Clatworthy
 commit.py clean-up including logging just to stderr, not bzr.log  | 
261  | 
|
262  | 
        :param rev_id: If set, use this as the new revision id.
 | 
|
| 
1189
by Martin Pool
 - BROKEN: partial support for commit into weave  | 
263  | 
            Useful for test or import commands that need to tightly
 | 
264  | 
            control what revisions are assigned.  If you duplicate
 | 
|
265  | 
            a revision id that exists elsewhere it is your own fault.
 | 
|
266  | 
            If null (default), a time/random revision id is generated.
 | 
|
| 
1253
by Martin Pool
 - test that pointless commits are trapped  | 
267  | 
|
| 
2511.1.1
by Ian Clatworthy
 commit.py clean-up including logging just to stderr, not bzr.log  | 
268  | 
        :param allow_pointless: If true (default), commit even if nothing
 | 
| 
1253
by Martin Pool
 - test that pointless commits are trapped  | 
269  | 
            has changed and no merges are recorded.
 | 
| 
1185.16.35
by Martin Pool
 - stub for revision properties  | 
270  | 
|
| 
2511.1.1
by Ian Clatworthy
 commit.py clean-up including logging just to stderr, not bzr.log  | 
271  | 
        :param strict: If true, don't allow a commit if the working tree
 | 
| 
1185.16.65
by mbp at sourcefrog
 - new commit --strict option  | 
272  | 
            contains unknown files.
 | 
273  | 
||
| 
2511.1.1
by Ian Clatworthy
 commit.py clean-up including logging just to stderr, not bzr.log  | 
274  | 
        :param revprops: Properties for new revision
 | 
| 
1587.1.8
by Robert Collins
 Local commits on unbound branches fail.  | 
275  | 
        :param local: Perform a local only commit.
 | 
| 
2789.2.1
by Ian Clatworthy
 Make commit less verbose by default  | 
276  | 
        :param reporter: the reporter to use or None for the default
 | 
277  | 
        :param verbose: if True and the reporter is not None, report everything
 | 
|
| 
2255.2.218
by Robert Collins
 Make the nested tree commit smoke test be more rigourous.  | 
278  | 
        :param recursive: If set to 'down', commit in any subtrees that have
 | 
279  | 
            pending changes of any sort during this commit.
 | 
|
| 
3602.1.1
by Robert Collins
 Add support for -x or --exclude to bzr commit, fixing bug 3117. (Robert Collins)  | 
280  | 
        :param exclude: None or a list of relative paths to exclude from the
 | 
281  | 
            commit. Pending changes to excluded files will be ignored by the
 | 
|
| 
3943.8.1
by Marius Kruger
 remove all trailing whitespace from bzr source  | 
282  | 
            commit.
 | 
| 
5777.6.1
by Jelmer Vernooij
 Add --lossy option to 'bzr commit'.  | 
283  | 
        :param lossy: When committing to a foreign VCS, ignore any
 | 
284  | 
            data that can not be natively represented.
 | 
|
| 
1189
by Martin Pool
 - BROKEN: partial support for commit into weave  | 
285  | 
        """
 | 
| 
4744.3.2
by Andrew Bennetts
 Add OperationWithCleanups helper, use it to make commit.py simpler and more robust.  | 
286  | 
operation = OperationWithCleanups(self._commit)  | 
| 
5086.6.1
by Robert Collins
 Minor commit tidyup in preparation for hooking around revprops.  | 
287  | 
self.revprops = revprops or {}  | 
| 
5141.1.1
by Robert Collins
 ``bzrlib.mutabletree.MutableTree.commit`` will now support a passed in  | 
288  | 
        # XXX: Can be set on __init__ or passed in - this is a bit ugly.
 | 
| 
6351.3.2
by Jelmer Vernooij
 Convert some gpg options to config stacks.  | 
289  | 
self.config_stack = config or self.config_stack  | 
| 
4744.3.2
by Andrew Bennetts
 Add OperationWithCleanups helper, use it to make commit.py simpler and more robust.  | 
290  | 
return operation.run(  | 
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
291  | 
message=message,  | 
292  | 
timestamp=timestamp,  | 
|
293  | 
timezone=timezone,  | 
|
294  | 
committer=committer,  | 
|
295  | 
specific_files=specific_files,  | 
|
296  | 
rev_id=rev_id,  | 
|
297  | 
allow_pointless=allow_pointless,  | 
|
298  | 
strict=strict,  | 
|
299  | 
verbose=verbose,  | 
|
300  | 
working_tree=working_tree,  | 
|
301  | 
local=local,  | 
|
302  | 
reporter=reporter,  | 
|
303  | 
message_callback=message_callback,  | 
|
304  | 
recursive=recursive,  | 
|
305  | 
exclude=exclude,  | 
|
306  | 
possible_master_transports=possible_master_transports,  | 
|
307  | 
lossy=lossy)  | 
|
| 
4744.3.2
by Andrew Bennetts
 Add OperationWithCleanups helper, use it to make commit.py simpler and more robust.  | 
308  | 
|
309  | 
def _commit(self, operation, message, timestamp, timezone, committer,  | 
|
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
310  | 
specific_files, rev_id, allow_pointless, strict, verbose,  | 
311  | 
working_tree, local, reporter, message_callback, recursive,  | 
|
312  | 
exclude, possible_master_transports, lossy):  | 
|
| 
1285
by Martin Pool
 - fix bug in committing files that are renamed but not modified  | 
313  | 
mutter('preparing to commit')  | 
| 
1189
by Martin Pool
 - BROKEN: partial support for commit into weave  | 
314  | 
|
| 
2367.2.1
by Robert Collins
 Remove bzrlib 0.8 compatability where it was making the code unclear or messy. (Robert Collins)  | 
315  | 
if working_tree is None:  | 
316  | 
raise BzrError("working_tree must be passed into commit().")  | 
|
| 
1534.4.25
by Robert Collins
 Add a --transport parameter to the test suite to set the default transport to be used in the test suite.  | 
317  | 
else:  | 
318  | 
self.work_tree = working_tree  | 
|
| 
4354.4.4
by Aaron Bentley
 Simplify by using CommitBuilder directly  | 
319  | 
self.branch = self.work_tree.branch  | 
| 
2100.3.14
by Aaron Bentley
 Test workingtree4 format, prevent use with old repos  | 
320  | 
if getattr(self.work_tree, 'requires_rich_root', lambda: False)():  | 
321  | 
if not self.branch.repository.supports_rich_root():  | 
|
322  | 
raise errors.RootNotRich()  | 
|
| 
2149.1.1
by Aaron Bentley
 Provide a message_callback parameter to tree.commit  | 
323  | 
if message_callback is None:  | 
| 
2149.1.3
by Aaron Bentley
 Updates from review comments  | 
324  | 
if message is not None:  | 
| 
6684.1.3
by Martin
 Changes across many modules working towards Python 3 support  | 
325  | 
if isinstance(message, bytes):  | 
| 
3224.5.1
by Andrew Bennetts
 Lots of assorted hackery to reduce the number of imports for common operations. Improves 'rocks', 'st' and 'help' times by ~50ms on my laptop.  | 
326  | 
message = message.decode(get_user_encoding())  | 
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
327  | 
|
| 
7143.15.5
by Jelmer Vernooij
 More PEP8 fixes.  | 
328  | 
def message_callback(x):  | 
329  | 
return message  | 
|
| 
2149.1.1
by Aaron Bentley
 Provide a message_callback parameter to tree.commit  | 
330  | 
else:  | 
| 
2149.1.3
by Aaron Bentley
 Updates from review comments  | 
331  | 
raise BzrError("The message or message_callback keyword"  | 
332  | 
" parameter is required for commit().")  | 
|
| 
1534.4.25
by Robert Collins
 Add a --transport parameter to the test suite to set the default transport to be used in the test suite.  | 
333  | 
|
| 
1505.1.24
by John Arbash Meinel
 Updated commit to handle bound branches. Included test to handle commit after merge  | 
334  | 
self.bound_branch = None  | 
| 
2840.1.1
by Ian Clatworthy
 faster pointless commit detection (Robert Collins)  | 
335  | 
self.any_entries_deleted = False  | 
| 
3602.1.1
by Robert Collins
 Add support for -x or --exclude to bzr commit, fixing bug 3117. (Robert Collins)  | 
336  | 
if exclude is not None:  | 
337  | 
self.exclude = sorted(  | 
|
338  | 
minimum_path_selection(exclude))  | 
|
339  | 
else:  | 
|
340  | 
self.exclude = []  | 
|
| 
1587.1.9
by Robert Collins
 Local commits do no alter or access the master branch.  | 
341  | 
self.local = local  | 
| 
1505.1.24
by John Arbash Meinel
 Updated commit to handle bound branches. Included test to handle commit after merge  | 
342  | 
self.master_branch = None  | 
| 
2776.4.15
by Robert Collins
 Put checking for recursive commits back to the commit driver, not commit builder.  | 
343  | 
self.recursive = recursive  | 
| 
1740.3.10
by Jelmer Vernooij
 Fix some minor issues pointed out by j-a-m.  | 
344  | 
self.rev_id = None  | 
| 
4570.4.3
by Robert Collins
 Fix a couple of small bugs in the patch - use specific files with record_iter_changs, and the CLI shouldn't generate a filter of [] for commit.  | 
345  | 
        # self.specific_files is None to indicate no filter, or any iterable to
 | 
346  | 
        # indicate a filter - [] means no files at all, as per iter_changes.
 | 
|
| 
2843.1.1
by Ian Clatworthy
 Faster partial commits by walking less data (Robert Collins)  | 
347  | 
if specific_files is not None:  | 
348  | 
self.specific_files = sorted(  | 
|
349  | 
minimum_path_selection(specific_files))  | 
|
350  | 
else:  | 
|
351  | 
self.specific_files = None  | 
|
| 
5718.4.1
by Jelmer Vernooij
 Add CommitBuilder.supports_record_entry_contents.  | 
352  | 
|
| 
1194
by Martin Pool
 - [BROKEN] more progress of commit into weaves  | 
353  | 
self.allow_pointless = allow_pointless  | 
| 
2255.2.218
by Robert Collins
 Make the nested tree commit smoke test be more rigourous.  | 
354  | 
self.message_callback = message_callback  | 
355  | 
self.timestamp = timestamp  | 
|
356  | 
self.timezone = timezone  | 
|
357  | 
self.committer = committer  | 
|
358  | 
self.strict = strict  | 
|
359  | 
self.verbose = verbose  | 
|
| 
1189
by Martin Pool
 - BROKEN: partial support for commit into weave  | 
360  | 
|
| 
4354.4.4
by Aaron Bentley
 Simplify by using CommitBuilder directly  | 
361  | 
self.work_tree.lock_write()  | 
| 
4744.3.2
by Andrew Bennetts
 Add OperationWithCleanups helper, use it to make commit.py simpler and more robust.  | 
362  | 
operation.add_cleanup(self.work_tree.unlock)  | 
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
363  | 
self.parents = self.work_tree.get_parent_ids()  | 
| 
5582.10.6
by Jelmer Vernooij
 Fix ui imports.  | 
364  | 
self.pb = ui.ui_factory.nested_progress_bar()  | 
| 
4744.3.2
by Andrew Bennetts
 Add OperationWithCleanups helper, use it to make commit.py simpler and more robust.  | 
365  | 
operation.add_cleanup(self.pb.finished)  | 
| 
2921.4.1
by Robert Collins
 During commit check for the first commit by NULL_REVISION rather than a completely empty basis tree, removing one use of the basis inventory.  | 
366  | 
self.basis_revid = self.work_tree.last_revision()  | 
| 
2789.2.4
by Ian Clatworthy
 make change reporting smarter for initial commit  | 
367  | 
self.basis_tree = self.work_tree.basis_tree()  | 
| 
2255.2.25
by John Arbash Meinel
 DirstateRevisionTrees need to be read_locked before they will work as BasisTree  | 
368  | 
self.basis_tree.lock_read()  | 
| 
4744.3.2
by Andrew Bennetts
 Add OperationWithCleanups helper, use it to make commit.py simpler and more robust.  | 
369  | 
operation.add_cleanup(self.basis_tree.unlock)  | 
370  | 
        # Cannot commit with conflicts present.
 | 
|
371  | 
if len(self.work_tree.conflicts()) > 0:  | 
|
372  | 
raise ConflictsInTree  | 
|
373  | 
||
374  | 
        # Setup the bound branch variables as needed.
 | 
|
375  | 
self._check_bound_branch(operation, possible_master_transports)  | 
|
376  | 
||
377  | 
        # Check that the working tree is up to date
 | 
|
| 
6217.5.2
by Jelmer Vernooij
 Factor out the updating of branches into a separate helper.  | 
378  | 
old_revno, old_revid, new_revno = self._check_out_of_date_tree()  | 
| 
4744.3.2
by Andrew Bennetts
 Add OperationWithCleanups helper, use it to make commit.py simpler and more robust.  | 
379  | 
|
380  | 
        # Complete configuration setup
 | 
|
381  | 
if reporter is not None:  | 
|
382  | 
self.reporter = reporter  | 
|
383  | 
elif self.reporter is None:  | 
|
384  | 
self.reporter = self._select_reporter()  | 
|
| 
6351.3.2
by Jelmer Vernooij
 Convert some gpg options to config stacks.  | 
385  | 
if self.config_stack is None:  | 
| 
6449.6.4
by Jelmer Vernooij
 Use config stack.  | 
386  | 
self.config_stack = self.work_tree.get_config_stack()  | 
| 
4744.3.2
by Andrew Bennetts
 Add OperationWithCleanups helper, use it to make commit.py simpler and more robust.  | 
387  | 
|
388  | 
        # Setup the progress bar. As the number of files that need to be
 | 
|
389  | 
        # committed in unknown, progress is reported as stages.
 | 
|
390  | 
        # We keep track of entries separately though and include that
 | 
|
391  | 
        # information in the progress bar during the relevant stages.
 | 
|
392  | 
self.pb_stage_name = ""  | 
|
393  | 
self.pb_stage_count = 0  | 
|
394  | 
self.pb_stage_total = 5  | 
|
395  | 
if self.bound_branch:  | 
|
| 
5050.52.3
by Andrew Bennetts
 Merge tags from local to master when committing in a bound branch.  | 
396  | 
            # 2 extra stages: "Uploading data to master branch" and "Merging
 | 
397  | 
            # tags to master branch"
 | 
|
398  | 
self.pb_stage_total += 2  | 
|
| 
4744.3.2
by Andrew Bennetts
 Add OperationWithCleanups helper, use it to make commit.py simpler and more robust.  | 
399  | 
self.pb.show_pct = False  | 
400  | 
self.pb.show_spinner = False  | 
|
401  | 
self.pb.show_eta = False  | 
|
402  | 
self.pb.show_count = True  | 
|
403  | 
self.pb.show_bar = True  | 
|
404  | 
||
405  | 
        # After a merge, a selected file commit is not supported.
 | 
|
406  | 
        # See 'bzr help merge' for an explanation as to why.
 | 
|
407  | 
if len(self.parents) > 1 and self.specific_files is not None:  | 
|
| 
6744
by Jelmer Vernooij
 Merge lp:~jelmer/brz/move-errors-knit.  | 
408  | 
raise CannotCommitSelectedFileMerge(self.specific_files)  | 
| 
4744.3.2
by Andrew Bennetts
 Add OperationWithCleanups helper, use it to make commit.py simpler and more robust.  | 
409  | 
        # Excludes are a form of selected file commit.
 | 
410  | 
if len(self.parents) > 1 and self.exclude:  | 
|
| 
6744
by Jelmer Vernooij
 Merge lp:~jelmer/brz/move-errors-knit.  | 
411  | 
raise CannotCommitSelectedFileMerge(self.exclude)  | 
| 
4744.3.2
by Andrew Bennetts
 Add OperationWithCleanups helper, use it to make commit.py simpler and more robust.  | 
412  | 
|
413  | 
        # Collect the changes
 | 
|
414  | 
self._set_progress_stage("Collecting changes", counter=True)  | 
|
| 
5777.6.5
by Jelmer Vernooij
 Add tests for lossy commit.  | 
415  | 
self._lossy = lossy  | 
| 
7143.15.5
by Jelmer Vernooij
 More PEP8 fixes.  | 
416  | 
self.builder = self.branch.get_commit_builder(  | 
417  | 
self.parents, self.config_stack, timestamp, timezone, committer,  | 
|
418  | 
self.revprops, rev_id, lossy=lossy)  | 
|
| 
4744.3.2
by Andrew Bennetts
 Add OperationWithCleanups helper, use it to make commit.py simpler and more robust.  | 
419  | 
|
| 
6217.5.2
by Jelmer Vernooij
 Factor out the updating of branches into a separate helper.  | 
420  | 
if self.builder.updates_branch and self.bound_branch:  | 
421  | 
self.builder.abort()  | 
|
422  | 
raise AssertionError(  | 
|
423  | 
                "bound branches not supported for commit builders "
 | 
|
424  | 
"that update the branch")  | 
|
425  | 
||
| 
1189
by Martin Pool
 - BROKEN: partial support for commit into weave  | 
426  | 
try:  | 
| 
4744.3.2
by Andrew Bennetts
 Add OperationWithCleanups helper, use it to make commit.py simpler and more robust.  | 
427  | 
            # find the location being committed to
 | 
428  | 
if self.bound_branch:  | 
|
429  | 
master_location = self.master_branch.base  | 
|
430  | 
else:  | 
|
431  | 
master_location = self.branch.base  | 
|
432  | 
||
433  | 
            # report the start of the commit
 | 
|
434  | 
self.reporter.started(new_revno, self.rev_id, master_location)  | 
|
435  | 
||
436  | 
self._update_builder_with_changes()  | 
|
437  | 
self._check_pointless()  | 
|
438  | 
||
439  | 
            # TODO: Now the new inventory is known, check for conflicts.
 | 
|
440  | 
            # ADHB 2006-08-08: If this is done, populate_new_inv should not add
 | 
|
441  | 
            # weave lines, because nothing should be recorded until it is known
 | 
|
442  | 
            # that commit will succeed.
 | 
|
443  | 
self._set_progress_stage("Saving data locally")  | 
|
444  | 
self.builder.finish_inventory()  | 
|
445  | 
||
446  | 
            # Prompt the user for a commit message if none provided
 | 
|
447  | 
message = message_callback(self)  | 
|
448  | 
self.message = message  | 
|
449  | 
||
450  | 
            # Add revision data to the local branch
 | 
|
451  | 
self.rev_id = self.builder.commit(self.message)  | 
|
452  | 
||
| 
7143.15.5
by Jelmer Vernooij
 More PEP8 fixes.  | 
453  | 
except Exception:  | 
| 
4744.3.2
by Andrew Bennetts
 Add OperationWithCleanups helper, use it to make commit.py simpler and more robust.  | 
454  | 
mutter("aborting commit write group because of exception:")  | 
455  | 
trace.log_exception_quietly()  | 
|
456  | 
self.builder.abort()  | 
|
457  | 
            raise
 | 
|
458  | 
||
| 
6217.5.2
by Jelmer Vernooij
 Factor out the updating of branches into a separate helper.  | 
459  | 
self._update_branches(old_revno, old_revid, new_revno)  | 
460  | 
||
461  | 
        # Make the working tree be up to date with the branch. This
 | 
|
462  | 
        # includes automatic changes scheduled to be made to the tree, such
 | 
|
463  | 
        # as updating its basis and unversioning paths that were missing.
 | 
|
| 
6883.7.3
by Jelmer Vernooij
 Avoid Tree.id2path.  | 
464  | 
self.work_tree.unversion(self.deleted_paths)  | 
| 
6217.5.2
by Jelmer Vernooij
 Factor out the updating of branches into a separate helper.  | 
465  | 
self._set_progress_stage("Updating the working tree")  | 
466  | 
self.work_tree.update_basis_by_delta(self.rev_id,  | 
|
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
467  | 
self.builder.get_basis_delta())  | 
| 
6217.5.2
by Jelmer Vernooij
 Factor out the updating of branches into a separate helper.  | 
468  | 
self.reporter.completed(new_revno, self.rev_id)  | 
469  | 
self._process_post_hooks(old_revno, new_revno)  | 
|
470  | 
return self.rev_id  | 
|
471  | 
||
472  | 
def _update_branches(self, old_revno, old_revid, new_revno):  | 
|
473  | 
"""Update the master and local branch to the new revision.  | 
|
474  | 
||
475  | 
        This will try to make sure that the master branch is updated
 | 
|
476  | 
        before the local branch.
 | 
|
477  | 
||
478  | 
        :param old_revno: Revision number of master branch before the
 | 
|
479  | 
            commit
 | 
|
480  | 
        :param old_revid: Tip of master branch before the commit
 | 
|
481  | 
        :param new_revno: Revision number of the new commit
 | 
|
482  | 
        """
 | 
|
| 
6217.5.1
by Jelmer Vernooij
 Add CommitBuilder.updates_branch.  | 
483  | 
if not self.builder.updates_branch:  | 
484  | 
self._process_pre_hooks(old_revno, new_revno)  | 
|
485  | 
||
486  | 
            # Upload revision data to the master.
 | 
|
487  | 
            # this will propagate merged revisions too if needed.
 | 
|
488  | 
if self.bound_branch:  | 
|
489  | 
self._set_progress_stage("Uploading data to master branch")  | 
|
490  | 
                # 'commit' to the master first so a timeout here causes the
 | 
|
491  | 
                # local branch to be out of date
 | 
|
492  | 
(new_revno, self.rev_id) = self.master_branch.import_last_revision_info_and_tags(  | 
|
| 
6217.5.2
by Jelmer Vernooij
 Factor out the updating of branches into a separate helper.  | 
493  | 
self.branch, new_revno, self.rev_id, lossy=self._lossy)  | 
494  | 
if self._lossy:  | 
|
| 
6217.5.1
by Jelmer Vernooij
 Add CommitBuilder.updates_branch.  | 
495  | 
self.branch.fetch(self.master_branch, self.rev_id)  | 
496  | 
||
497  | 
            # and now do the commit locally.
 | 
|
498  | 
self.branch.set_last_revision_info(new_revno, self.rev_id)  | 
|
499  | 
else:  | 
|
500  | 
try:  | 
|
501  | 
self._process_pre_hooks(old_revno, new_revno)  | 
|
| 
7143.15.5
by Jelmer Vernooij
 More PEP8 fixes.  | 
502  | 
except BaseException:  | 
| 
6217.5.1
by Jelmer Vernooij
 Add CommitBuilder.updates_branch.  | 
503  | 
                # The commit builder will already have updated the branch,
 | 
504  | 
                # revert it.
 | 
|
| 
6217.5.2
by Jelmer Vernooij
 Factor out the updating of branches into a separate helper.  | 
505  | 
self.branch.set_last_revision_info(old_revno, old_revid)  | 
| 
6217.5.1
by Jelmer Vernooij
 Add CommitBuilder.updates_branch.  | 
506  | 
                raise
 | 
| 
4744.3.2
by Andrew Bennetts
 Add OperationWithCleanups helper, use it to make commit.py simpler and more robust.  | 
507  | 
|
| 
5050.52.3
by Andrew Bennetts
 Merge tags from local to master when committing in a bound branch.  | 
508  | 
        # Merge local tags to remote
 | 
509  | 
if self.bound_branch:  | 
|
510  | 
self._set_progress_stage("Merging tags to master branch")  | 
|
| 
6112.4.2
by Jelmer Vernooij
 Fix tag tests.  | 
511  | 
tag_updates, tag_conflicts = self.branch.tags.merge_to(  | 
512  | 
self.master_branch.tags)  | 
|
| 
5050.52.3
by Andrew Bennetts
 Merge tags from local to master when committing in a bound branch.  | 
513  | 
if tag_conflicts:  | 
514  | 
warning_lines = [' ' + name for name, _, _ in tag_conflicts]  | 
|
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
515  | 
note(gettext("Conflicting tags in bound branch:\n{0}".format(  | 
516  | 
"\n".join(warning_lines))))  | 
|
| 
5050.52.3
by Andrew Bennetts
 Merge tags from local to master when committing in a bound branch.  | 
517  | 
|
| 
2789.2.4
by Ian Clatworthy
 make change reporting smarter for initial commit  | 
518  | 
def _select_reporter(self):  | 
519  | 
"""Select the CommitReporter to use."""  | 
|
520  | 
if is_quiet():  | 
|
521  | 
return NullCommitReporter()  | 
|
| 
2789.2.10
by Ian Clatworthy
 focus on performance gains, not better reporting  | 
522  | 
return ReportCommitToLog()  | 
| 
2789.2.4
by Ian Clatworthy
 make change reporting smarter for initial commit  | 
523  | 
|
| 
1910.2.37
by Aaron Bentley
 Handle empty commits, fix test  | 
524  | 
def _check_pointless(self):  | 
525  | 
if self.allow_pointless:  | 
|
526  | 
            return
 | 
|
527  | 
        # A merge with no effect on files
 | 
|
528  | 
if len(self.parents) > 1:  | 
|
529  | 
            return
 | 
|
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
530  | 
if self.builder.any_changes():  | 
| 
1910.2.37
by Aaron Bentley
 Handle empty commits, fix test  | 
531  | 
            return
 | 
532  | 
raise PointlessCommit()  | 
|
533  | 
||
| 
4744.3.2
by Andrew Bennetts
 Add OperationWithCleanups helper, use it to make commit.py simpler and more robust.  | 
534  | 
def _check_bound_branch(self, operation, possible_master_transports=None):  | 
| 
1505.1.24
by John Arbash Meinel
 Updated commit to handle bound branches. Included test to handle commit after merge  | 
535  | 
"""Check to see if the local branch is bound.  | 
536  | 
||
537  | 
        If it is bound, then most of the commit will actually be
 | 
|
538  | 
        done using the remote branch as the target branch.
 | 
|
539  | 
        Only at the end will the local branch be updated.
 | 
|
540  | 
        """
 | 
|
| 
1587.1.9
by Robert Collins
 Local commits do no alter or access the master branch.  | 
541  | 
if self.local and not self.branch.get_bound_location():  | 
542  | 
raise errors.LocalRequiresBoundBranch()  | 
|
543  | 
||
544  | 
if not self.local:  | 
|
| 
3565.6.9
by Marius Kruger
 Jump through hoops not to open multiple connections when committing to a bound branch.  | 
545  | 
self.master_branch = self.branch.get_master_branch(  | 
546  | 
possible_master_transports)  | 
|
| 
1587.1.9
by Robert Collins
 Local commits do no alter or access the master branch.  | 
547  | 
|
| 
1505.1.24
by John Arbash Meinel
 Updated commit to handle bound branches. Included test to handle commit after merge  | 
548  | 
if not self.master_branch:  | 
| 
1587.1.8
by Robert Collins
 Local commits on unbound branches fail.  | 
549  | 
            # make this branch the reference branch for out of date checks.
 | 
550  | 
self.master_branch = self.branch  | 
|
| 
1505.1.24
by John Arbash Meinel
 Updated commit to handle bound branches. Included test to handle commit after merge  | 
551  | 
            return
 | 
552  | 
||
553  | 
        # If the master branch is bound, we must fail
 | 
|
554  | 
master_bound_location = self.master_branch.get_bound_location()  | 
|
555  | 
if master_bound_location:  | 
|
| 
7143.15.5
by Jelmer Vernooij
 More PEP8 fixes.  | 
556  | 
raise errors.CommitToDoubleBoundBranch(  | 
557  | 
self.branch, self.master_branch, master_bound_location)  | 
|
| 
1505.1.24
by John Arbash Meinel
 Updated commit to handle bound branches. Included test to handle commit after merge  | 
558  | 
|
559  | 
        # TODO: jam 20051230 We could automatically push local
 | 
|
560  | 
        #       commits to the remote branch if they would fit.
 | 
|
561  | 
        #       But for now, just require remote to be identical
 | 
|
562  | 
        #       to local.
 | 
|
| 
3943.8.1
by Marius Kruger
 remove all trailing whitespace from bzr source  | 
563  | 
|
| 
1505.1.24
by John Arbash Meinel
 Updated commit to handle bound branches. Included test to handle commit after merge  | 
564  | 
        # Make sure the local branch is identical to the master
 | 
| 
7131.14.1
by Jelmer Vernooij
 Fix committing to a bzr branch bound to a git branch.  | 
565  | 
master_revid = self.master_branch.last_revision()  | 
566  | 
local_revid = self.branch.last_revision()  | 
|
567  | 
if local_revid != master_revid:  | 
|
| 
1505.1.24
by John Arbash Meinel
 Updated commit to handle bound branches. Included test to handle commit after merge  | 
568  | 
raise errors.BoundBranchOutOfDate(self.branch,  | 
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
569  | 
self.master_branch)  | 
| 
1505.1.24
by John Arbash Meinel
 Updated commit to handle bound branches. Included test to handle commit after merge  | 
570  | 
|
571  | 
        # Now things are ready to change the master branch
 | 
|
572  | 
        # so grab the lock
 | 
|
573  | 
self.bound_branch = self.branch  | 
|
574  | 
self.master_branch.lock_write()  | 
|
| 
4744.3.2
by Andrew Bennetts
 Add OperationWithCleanups helper, use it to make commit.py simpler and more robust.  | 
575  | 
operation.add_cleanup(self.master_branch.unlock)  | 
| 
1505.1.24
by John Arbash Meinel
 Updated commit to handle bound branches. Included test to handle commit after merge  | 
576  | 
|
| 
2511.1.1
by Ian Clatworthy
 commit.py clean-up including logging just to stderr, not bzr.log  | 
577  | 
def _check_out_of_date_tree(self):  | 
578  | 
"""Check that the working tree is up to date.  | 
|
579  | 
||
| 
6217.5.2
by Jelmer Vernooij
 Factor out the updating of branches into a separate helper.  | 
580  | 
        :return: old_revision_number, old_revision_id, new_revision_number
 | 
581  | 
            tuple
 | 
|
| 
2511.1.1
by Ian Clatworthy
 commit.py clean-up including logging just to stderr, not bzr.log  | 
582  | 
        """
 | 
583  | 
try:  | 
|
584  | 
first_tree_parent = self.work_tree.get_parent_ids()[0]  | 
|
585  | 
except IndexError:  | 
|
586  | 
            # if there are no parents, treat our parent as 'None'
 | 
|
587  | 
            # this is so that we still consider the master branch
 | 
|
588  | 
            # - in a checkout scenario the tree may have no
 | 
|
589  | 
            # parents but the branch may do.
 | 
|
| 
6622.1.34
by Jelmer Vernooij
 Rename brzlib => breezy.  | 
590  | 
first_tree_parent = breezy.revision.NULL_REVISION  | 
| 
7131.14.1
by Jelmer Vernooij
 Fix committing to a bzr branch bound to a git branch.  | 
591  | 
try:  | 
592  | 
old_revno, master_last = self.master_branch.last_revision_info()  | 
|
593  | 
except errors.UnsupportedOperation:  | 
|
594  | 
master_last = self.master_branch.last_revision()  | 
|
595  | 
old_revno = self.branch.revision_id_to_revno(master_last)  | 
|
| 
2511.1.1
by Ian Clatworthy
 commit.py clean-up including logging just to stderr, not bzr.log  | 
596  | 
if master_last != first_tree_parent:  | 
| 
6622.1.34
by Jelmer Vernooij
 Rename brzlib => breezy.  | 
597  | 
if master_last != breezy.revision.NULL_REVISION:  | 
| 
2511.1.1
by Ian Clatworthy
 commit.py clean-up including logging just to stderr, not bzr.log  | 
598  | 
raise errors.OutOfDateTree(self.work_tree)  | 
599  | 
if self.branch.repository.has_revision(first_tree_parent):  | 
|
600  | 
new_revno = old_revno + 1  | 
|
601  | 
else:  | 
|
602  | 
            # ghost parents never appear in revision history.
 | 
|
603  | 
new_revno = 1  | 
|
| 
6217.5.2
by Jelmer Vernooij
 Factor out the updating of branches into a separate helper.  | 
604  | 
return old_revno, master_last, new_revno  | 
| 
2511.1.1
by Ian Clatworthy
 commit.py clean-up including logging just to stderr, not bzr.log  | 
605  | 
|
| 
2659.3.1
by NamNguyen
 ``Branch.hooks`` now supports ``pre_commit`` hook.  | 
606  | 
def _process_pre_hooks(self, old_revno, new_revno):  | 
607  | 
"""Process any registered pre commit hooks."""  | 
|
| 
2659.3.9
by NamNguyen
 branch.py:  | 
608  | 
self._set_progress_stage("Running pre_commit hooks")  | 
| 
2659.3.1
by NamNguyen
 ``Branch.hooks`` now supports ``pre_commit`` hook.  | 
609  | 
self._process_hooks("pre_commit", old_revno, new_revno)  | 
610  | 
||
611  | 
def _process_post_hooks(self, old_revno, new_revno):  | 
|
612  | 
"""Process any registered post commit hooks."""  | 
|
| 
2553.1.2
by Robert Collins
 Show hook names during commit.  | 
613  | 
        # Process the post commit hooks, if any
 | 
| 
2659.3.9
by NamNguyen
 branch.py:  | 
614  | 
self._set_progress_stage("Running post_commit hooks")  | 
| 
2511.1.1
by Ian Clatworthy
 commit.py clean-up including logging just to stderr, not bzr.log  | 
615  | 
        # old style commit hooks - should be deprecated ? (obsoleted in
 | 
| 
6351.3.12
by Vincent Ladeuil
 Use simpler config stacks and use strings as inputs to better respect the API.  | 
616  | 
        # 0.15^H^H^H^H 2.5.0)
 | 
617  | 
post_commit = self.config_stack.get('post_commit')  | 
|
618  | 
if post_commit is not None:  | 
|
619  | 
hooks = post_commit.split(' ')  | 
|
| 
2511.1.1
by Ian Clatworthy
 commit.py clean-up including logging just to stderr, not bzr.log  | 
620  | 
            # this would be nicer with twisted.python.reflect.namedAny
 | 
621  | 
for hook in hooks:  | 
|
622  | 
result = eval(hook + '(branch, rev_id)',  | 
|
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
623  | 
{'branch': self.branch,  | 
624  | 
'breezy': breezy,  | 
|
625  | 
'rev_id': self.rev_id})  | 
|
| 
2659.3.1
by NamNguyen
 ``Branch.hooks`` now supports ``pre_commit`` hook.  | 
626  | 
        # process new style post commit hooks
 | 
627  | 
self._process_hooks("post_commit", old_revno, new_revno)  | 
|
628  | 
||
629  | 
def _process_hooks(self, hook_name, old_revno, new_revno):  | 
|
| 
2659.3.3
by NamNguyen
 Changed ``pre_commit`` hook signature.  | 
630  | 
if not Branch.hooks[hook_name]:  | 
631  | 
            return
 | 
|
| 
3943.8.1
by Marius Kruger
 remove all trailing whitespace from bzr source  | 
632  | 
|
| 
2511.1.1
by Ian Clatworthy
 commit.py clean-up including logging just to stderr, not bzr.log  | 
633  | 
        # new style commit hooks:
 | 
634  | 
if not self.bound_branch:  | 
|
635  | 
hook_master = self.branch  | 
|
636  | 
hook_local = None  | 
|
637  | 
else:  | 
|
638  | 
hook_master = self.master_branch  | 
|
639  | 
hook_local = self.branch  | 
|
640  | 
        # With bound branches, when the master is behind the local branch,
 | 
|
641  | 
        # the 'old_revno' and old_revid values here are incorrect.
 | 
|
642  | 
        # XXX: FIXME ^. RBC 20060206
 | 
|
643  | 
if self.parents:  | 
|
644  | 
old_revid = self.parents[0]  | 
|
645  | 
else:  | 
|
| 
6622.1.34
by Jelmer Vernooij
 Rename brzlib => breezy.  | 
646  | 
old_revid = breezy.revision.NULL_REVISION  | 
| 
3943.8.1
by Marius Kruger
 remove all trailing whitespace from bzr source  | 
647  | 
|
| 
2659.3.9
by NamNguyen
 branch.py:  | 
648  | 
if hook_name == "pre_commit":  | 
649  | 
future_tree = self.builder.revision_tree()  | 
|
650  | 
tree_delta = future_tree.changes_from(self.basis_tree,  | 
|
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
651  | 
include_root=True)  | 
| 
3943.8.1
by Marius Kruger
 remove all trailing whitespace from bzr source  | 
652  | 
|
| 
2659.3.1
by NamNguyen
 ``Branch.hooks`` now supports ``pre_commit`` hook.  | 
653  | 
for hook in Branch.hooks[hook_name]:  | 
| 
2553.1.3
by Robert Collins
 Increase docs in response to review feedback.  | 
654  | 
            # show the running hook in the progress bar. As hooks may
 | 
655  | 
            # end up doing nothing (e.g. because they are not configured by
 | 
|
656  | 
            # the user) this is still showing progress, not showing overall
 | 
|
657  | 
            # actions - its up to each plugin to show a UI if it want's to
 | 
|
658  | 
            # (such as 'Emailing diff to foo@example.com').
 | 
|
| 
2659.3.1
by NamNguyen
 ``Branch.hooks`` now supports ``pre_commit`` hook.  | 
659  | 
self.pb_stage_name = "Running %s hooks [%s]" % \  | 
| 
2659.3.9
by NamNguyen
 branch.py:  | 
660  | 
(hook_name, Branch.hooks.get_hook_name(hook))  | 
| 
2553.1.2
by Robert Collins
 Show hook names during commit.  | 
661  | 
self._emit_progress()  | 
| 
2560.1.4
by Robert Collins
 Allow -Dhooks to get the hooks invoked during commit logged.  | 
662  | 
if 'hooks' in debug.debug_flags:  | 
663  | 
mutter("Invoking commit hook: %r", hook)  | 
|
| 
2659.3.1
by NamNguyen
 ``Branch.hooks`` now supports ``pre_commit`` hook.  | 
664  | 
if hook_name == "post_commit":  | 
665  | 
hook(hook_local, hook_master, old_revno, old_revid, new_revno,  | 
|
666  | 
self.rev_id)  | 
|
667  | 
elif hook_name == "pre_commit":  | 
|
668  | 
hook(hook_local, hook_master,  | 
|
669  | 
old_revno, old_revid, new_revno, self.rev_id,  | 
|
| 
2659.3.9
by NamNguyen
 branch.py:  | 
670  | 
tree_delta, future_tree)  | 
| 
2511.1.1
by Ian Clatworthy
 commit.py clean-up including logging just to stderr, not bzr.log  | 
671  | 
|
| 
4354.4.4
by Aaron Bentley
 Simplify by using CommitBuilder directly  | 
672  | 
def _update_builder_with_changes(self):  | 
| 
2541.1.1
by Ian Clatworthy
 Refactor commit.commit() to walk the working inventory once/less  | 
673  | 
"""Update the commit builder with the data about what has changed.  | 
674  | 
        """
 | 
|
| 
4570.4.3
by Robert Collins
 Fix a couple of small bugs in the patch - use specific files with record_iter_changs, and the CLI shouldn't generate a filter of [] for commit.  | 
675  | 
specific_files = self.specific_files  | 
| 
6684.1.3
by Martin
 Changes across many modules working towards Python 3 support  | 
676  | 
mutter("Selecting files for commit with filter %r", specific_files)  | 
| 
2541.1.1
by Ian Clatworthy
 Refactor commit.commit() to walk the working inventory once/less  | 
677  | 
|
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
678  | 
self._check_strict()  | 
| 
7143.15.5
by Jelmer Vernooij
 More PEP8 fixes.  | 
679  | 
iter_changes = self.work_tree.iter_changes(  | 
680  | 
self.basis_tree, specific_files=specific_files)  | 
|
| 
6700.1.3
by Jelmer Vernooij
 Drop support for committing using record_entr_contents.  | 
681  | 
if self.exclude:  | 
682  | 
iter_changes = filter_excluded(iter_changes, self.exclude)  | 
|
683  | 
iter_changes = self._filter_iter_changes(iter_changes)  | 
|
| 
7206.6.1
by Jelmer Vernooij
 Drop file_id from record_iter_changes return value.  | 
684  | 
for path, fs_hash in self.builder.record_iter_changes(  | 
| 
7143.16.21
by Jelmer Vernooij
 Fix regressions.  | 
685  | 
self.work_tree, self.basis_revid, iter_changes):  | 
| 
7141.7.1
by Jelmer Vernooij
 Get rid of file_ids in most of Tree.  | 
686  | 
self.work_tree._observed_sha1(path, fs_hash)  | 
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
687  | 
|
| 
4354.4.4
by Aaron Bentley
 Simplify by using CommitBuilder directly  | 
688  | 
def _filter_iter_changes(self, iter_changes):  | 
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
689  | 
"""Process iter_changes.  | 
690  | 
||
| 
7143.15.5
by Jelmer Vernooij
 More PEP8 fixes.  | 
691  | 
        This method reports on the changes in iter_changes to the user, and
 | 
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
692  | 
        converts 'missing' entries in the iter_changes iterator to 'deleted'
 | 
693  | 
        entries. 'missing' entries have their
 | 
|
694  | 
||
695  | 
        :param iter_changes: An iter_changes to process.
 | 
|
696  | 
        :return: A generator of changes.
 | 
|
697  | 
        """
 | 
|
698  | 
reporter = self.reporter  | 
|
699  | 
report_changes = reporter.is_verbose()  | 
|
| 
6883.7.3
by Jelmer Vernooij
 Avoid Tree.id2path.  | 
700  | 
deleted_paths = []  | 
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
701  | 
for change in iter_changes:  | 
702  | 
if report_changes:  | 
|
703  | 
old_path = change[1][0]  | 
|
704  | 
new_path = change[1][1]  | 
|
705  | 
versioned = change[3][1]  | 
|
706  | 
kind = change[6][1]  | 
|
707  | 
versioned = change[3][1]  | 
|
708  | 
if kind is None and versioned:  | 
|
709  | 
                # 'missing' path
 | 
|
710  | 
if report_changes:  | 
|
711  | 
reporter.missing(new_path)  | 
|
| 
6883.7.3
by Jelmer Vernooij
 Avoid Tree.id2path.  | 
712  | 
deleted_paths.append(change[1][1])  | 
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
713  | 
                # Reset the new path (None) and new versioned flag (False)
 | 
714  | 
change = (change[0], (change[1][0], None), change[2],  | 
|
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
715  | 
(change[3][0], False)) + change[4:]  | 
| 
6125.1.1
by Jelmer Vernooij
 Report missing files as removed in 'bzr commit', rather than modified.  | 
716  | 
new_path = change[1][1]  | 
717  | 
versioned = False  | 
|
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
718  | 
elif kind == 'tree-reference':  | 
719  | 
if self.recursive == 'down':  | 
|
| 
7141.7.1
by Jelmer Vernooij
 Get rid of file_ids in most of Tree.  | 
720  | 
self._commit_nested_tree(change[1][1])  | 
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
721  | 
if change[3][0] or change[3][1]:  | 
722  | 
yield change  | 
|
723  | 
if report_changes:  | 
|
724  | 
if new_path is None:  | 
|
725  | 
reporter.deleted(old_path)  | 
|
726  | 
elif old_path is None:  | 
|
| 
6138.3.2
by Jonathan Riddell
 gettext-ify bzrlib/commit.py  | 
727  | 
reporter.snapshot_change(gettext('added'), new_path)  | 
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
728  | 
elif old_path != new_path:  | 
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
729  | 
reporter.renamed(gettext('renamed'),  | 
730  | 
old_path, new_path)  | 
|
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
731  | 
else:  | 
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
732  | 
if (new_path  | 
733  | 
or self.work_tree.branch.repository._format.rich_root_data):  | 
|
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
734  | 
                            # Don't report on changes to '' in non rich root
 | 
735  | 
                            # repositories.
 | 
|
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
736  | 
reporter.snapshot_change(  | 
737  | 
gettext('modified'), new_path)  | 
|
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
738  | 
self._next_progress_entry()  | 
| 
6883.7.3
by Jelmer Vernooij
 Avoid Tree.id2path.  | 
739  | 
        # Unversion files that were found to be deleted
 | 
740  | 
self.deleted_paths = deleted_paths  | 
|
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
741  | 
|
742  | 
def _check_strict(self):  | 
|
743  | 
        # XXX: when we use iter_changes this would likely be faster if
 | 
|
744  | 
        # iter_changes would check for us (even in the presence of
 | 
|
745  | 
        # selected_files).
 | 
|
| 
2564.2.1
by Ian Clatworthy
 refactor commit to support alternative population meothds  | 
746  | 
if self.strict:  | 
747  | 
            # raise an exception as soon as we find a single unknown.
 | 
|
748  | 
for unknown in self.work_tree.unknowns():  | 
|
749  | 
raise StrictCommitFailed()  | 
|
| 
3943.8.1
by Marius Kruger
 remove all trailing whitespace from bzr source  | 
750  | 
|
| 
7141.7.1
by Jelmer Vernooij
 Get rid of file_ids in most of Tree.  | 
751  | 
def _commit_nested_tree(self, path):  | 
| 
2564.2.1
by Ian Clatworthy
 refactor commit to support alternative population meothds  | 
752  | 
        "Commit a nested tree."
 | 
| 
7141.7.1
by Jelmer Vernooij
 Get rid of file_ids in most of Tree.  | 
753  | 
sub_tree = self.work_tree.get_nested_tree(path)  | 
| 
2564.2.1
by Ian Clatworthy
 refactor commit to support alternative population meothds  | 
754  | 
        # FIXME: be more comprehensive here:
 | 
755  | 
        # this works when both trees are in --trees repository,
 | 
|
756  | 
        # but when both are bound to a different repository,
 | 
|
| 
3943.8.1
by Marius Kruger
 remove all trailing whitespace from bzr source  | 
757  | 
        # it fails; a better way of approaching this is to
 | 
| 
2564.2.1
by Ian Clatworthy
 refactor commit to support alternative population meothds  | 
758  | 
        # finally implement the explicit-caches approach design
 | 
759  | 
        # a while back - RBC 20070306.
 | 
|
| 
2665.5.2
by Aaron Bentley
 Switch commit and merge to Repository.has_same_location  | 
760  | 
if sub_tree.branch.repository.has_same_location(  | 
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
761  | 
self.work_tree.branch.repository):  | 
| 
2564.2.1
by Ian Clatworthy
 refactor commit to support alternative population meothds  | 
762  | 
sub_tree.branch.repository = \  | 
763  | 
self.work_tree.branch.repository  | 
|
764  | 
try:  | 
|
| 
2776.4.6
by Robert Collins
 Fixup various commit test failures falling out from the other commit changes.  | 
765  | 
return sub_tree.commit(message=None, revprops=self.revprops,  | 
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
766  | 
recursive=self.recursive,  | 
767  | 
message_callback=self.message_callback,  | 
|
| 
7143.15.5
by Jelmer Vernooij
 More PEP8 fixes.  | 
768  | 
timestamp=self.timestamp,  | 
769  | 
timezone=self.timezone,  | 
|
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
770  | 
committer=self.committer,  | 
771  | 
allow_pointless=self.allow_pointless,  | 
|
772  | 
strict=self.strict, verbose=self.verbose,  | 
|
773  | 
local=self.local, reporter=self.reporter)  | 
|
| 
6744
by Jelmer Vernooij
 Merge lp:~jelmer/brz/move-errors-knit.  | 
774  | 
except PointlessCommit:  | 
| 
7141.7.1
by Jelmer Vernooij
 Get rid of file_ids in most of Tree.  | 
775  | 
return self.work_tree.get_reference_revision(path)  | 
| 
2564.2.1
by Ian Clatworthy
 refactor commit to support alternative population meothds  | 
776  | 
|
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
777  | 
def _set_progress_stage(self, name, counter=False):  | 
| 
2531.1.2
by Ian Clatworthy
 Improved progress reporting for commit  | 
778  | 
"""Set the progress stage and emit an update to the progress bar."""  | 
779  | 
self.pb_stage_name = name  | 
|
780  | 
self.pb_stage_count += 1  | 
|
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
781  | 
if counter:  | 
| 
2531.1.2
by Ian Clatworthy
 Improved progress reporting for commit  | 
782  | 
self.pb_entries_count = 0  | 
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
783  | 
else:  | 
784  | 
self.pb_entries_count = None  | 
|
| 
2531.1.2
by Ian Clatworthy
 Improved progress reporting for commit  | 
785  | 
self._emit_progress()  | 
786  | 
||
| 
2564.2.2
by Ian Clatworthy
 incorporate feedback from abentley  | 
787  | 
def _next_progress_entry(self):  | 
788  | 
"""Emit an update to the progress bar and increment the entry count."""  | 
|
| 
2531.1.2
by Ian Clatworthy
 Improved progress reporting for commit  | 
789  | 
self.pb_entries_count += 1  | 
790  | 
self._emit_progress()  | 
|
791  | 
||
792  | 
def _emit_progress(self):  | 
|
| 
4183.5.5
by Robert Collins
 Enable record_iter_changes for cases where it can work.  | 
793  | 
if self.pb_entries_count is not None:  | 
| 
6138.4.1
by Jonathan Riddell
 add gettext to progress bar strings  | 
794  | 
text = gettext("{0} [{1}] - Stage").format(self.pb_stage_name,  | 
| 
7143.15.2
by Jelmer Vernooij
 Run autopep8.  | 
795  | 
self.pb_entries_count)  | 
| 
2531.1.2
by Ian Clatworthy
 Improved progress reporting for commit  | 
796  | 
else:  | 
| 
6138.4.1
by Jonathan Riddell
 add gettext to progress bar strings  | 
797  | 
text = gettext("%s - Stage") % (self.pb_stage_name, )  | 
| 
2531.1.2
by Ian Clatworthy
 Improved progress reporting for commit  | 
798  | 
self.pb.update(text, self.pb_stage_count, self.pb_stage_total)  |