/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 breezy/repository.py

  • Committer: Jelmer Vernooij
  • Date: 2020-03-22 01:35:14 UTC
  • mfrom: (7490.7.6 work)
  • mto: This revision was merged to the branch mainline in revision 7499.
  • Revision ID: jelmer@jelmer.uk-20200322013514-7vw1ntwho04rcuj3
merge lp:brz/3.1.

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
 
from __future__ import absolute_import
18
 
 
19
17
from .lazy_import import lazy_import
20
18
lazy_import(globals(), """
21
19
import time
40
38
from .decorators import only_raises
41
39
from .inter import InterObject
42
40
from .lock import _RelockDebugMixin, LogicalLockResult
43
 
from .sixish import (
44
 
    text_type,
45
 
    viewitems,
46
 
    )
47
41
from .trace import (
48
42
    log_exception_quietly, note, mutter, mutter_callsite, warning)
49
43
 
110
104
 
111
105
        if committer is None:
112
106
            self._committer = self._config_stack.get('email')
113
 
        elif not isinstance(committer, text_type):
 
107
        elif not isinstance(committer, str):
114
108
            self._committer = committer.decode()  # throw if non-ascii
115
109
        else:
116
110
            self._committer = committer
152
146
            raise ValueError('Invalid value for %s: %r' % (context, text))
153
147
 
154
148
    def _validate_revprops(self, revprops):
155
 
        for key, value in viewitems(revprops):
 
149
        for key, value in revprops.items():
156
150
            # We know that the XML serializers do not round trip '\r'
157
151
            # correctly, so refuse to accept them
158
 
            if not isinstance(value, (text_type, str)):
 
152
            if not isinstance(value, str):
159
153
                raise ValueError('revision property (%s) is not a valid'
160
154
                                 ' (unicode) string: %r' % (key, value))
161
155
            # TODO(jelmer): Make this repository-format specific
1052
1046
            else:
1053
1047
                query_keys.append((revision_id,))
1054
1048
        vf = self.revisions.without_fallbacks()
1055
 
        for (revision_id,), parent_keys in viewitems(
1056
 
                vf.get_parent_map(query_keys)):
 
1049
        for (revision_id,), parent_keys in (
 
1050
                vf.get_parent_map(query_keys).items()):
1057
1051
            if parent_keys:
1058
1052
                result[revision_id] = tuple([parent_revid
1059
1053
                                             for (parent_revid,) in parent_keys])
1184
1178
        # weave repositories refuse to store revisionids that are non-ascii.
1185
1179
        if revision_id is not None:
1186
1180
            # weaves require ascii revision ids.
1187
 
            if isinstance(revision_id, text_type):
 
1181
            if isinstance(revision_id, str):
1188
1182
                try:
1189
1183
                    revision_id.encode('ascii')
1190
1184
                except UnicodeEncodeError:
1620
1614
    # Filter ghosts, and null:
1621
1615
    if _mod_revision.NULL_REVISION in revision_graph:
1622
1616
        del revision_graph[_mod_revision.NULL_REVISION]
1623
 
    for key, parents in viewitems(revision_graph):
 
1617
    for key, parents in revision_graph.items():
1624
1618
        revision_graph[key] = tuple(parent for parent in parents if parent
1625
1619
                                    in revision_graph)
1626
1620
    return revision_graph