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

Remove explicit use of rich root formats.

Show diffs side-by-side

added added

removed removed

Lines of Context:
104
104
        super(BzrGitMapping, self).__init__(foreign_git)
105
105
 
106
106
    def __eq__(self, other):
107
 
        return (type(self) == type(other) and
 
107
        return (type(self) == type(other) and 
108
108
                self.revid_prefix == other.revid_prefix)
109
109
 
110
110
    @classmethod
127
127
        # We must just hope they are valid UTF-8..
128
128
        if path == "":
129
129
            return ROOT_ID
130
 
        if type(path) is unicode:
131
 
            path = path.encode("utf-8")
132
130
        return escape_file_id(path)
133
131
 
134
132
    def is_control_file(self, path):
185
183
 
186
184
    def _extract_git_svn_metadata(self, rev, message):
187
185
        lines = message.split("\n")
188
 
        if not (lines[-1] == "" and len(lines) >= 2 and lines[-2].startswith("git-svn-id:")):
 
186
        if not (lines[-1] == "" and lines[-2].startswith("git-svn-id:")):
189
187
            return message
190
188
        git_svn_id = lines[-2].split(": ", 1)[1]
191
189
        rev.properties['git-svn-id'] = git_svn_id
227
225
        b.set_raw_chunks(serialize_fileid_map(fileid_map))
228
226
        return b
229
227
 
230
 
    def export_commit(self, rev, tree_sha, parent_lookup, roundtrip,
231
 
                      verifiers):
 
228
    def export_commit(self, rev, tree_sha, parent_lookup, roundtrip):
232
229
        """Turn a Bazaar revision in to a Git commit
233
230
 
234
231
        :param tree_sha: Tree sha for the commit
235
232
        :param parent_lookup: Function for looking up the GIT sha equiv of a
236
233
            bzr revision
237
 
        :param roundtrip: Whether to store roundtripping information.
238
 
        :param verifiers: Verifiers info
239
234
        :return dulwich.objects.Commit represent the revision:
240
235
        """
241
236
        from dulwich.objects import Commit
243
238
        commit.tree = tree_sha
244
239
        if roundtrip:
245
240
            metadata = BzrGitRevisionMetadata()
246
 
            metadata.verifiers = verifiers
247
241
        else:
248
242
            metadata = None
249
243
        parents = []
311
305
    def import_commit(self, commit, lookup_parent_revid):
312
306
        """Convert a git commit to a bzr revision.
313
307
 
314
 
        :return: a `bzrlib.revision.Revision` object, foreign revid and a
315
 
            testament sha1
 
308
        :return: a `bzrlib.revision.Revision` object and a 
 
309
            dictionary of path -> file ids
316
310
        """
317
311
        if commit is None:
318
312
            raise AssertionError("Commit object can't be None")
351
345
        rev.timezone = commit.commit_timezone
352
346
        if rev.git_metadata is not None:
353
347
            md = rev.git_metadata
354
 
            roundtrip_revid = md.revision_id
 
348
            if md.revision_id:
 
349
                rev.revision_id = md.revision_id
355
350
            if md.explicit_parent_ids:
356
351
                rev.parent_ids = md.explicit_parent_ids
357
352
            rev.properties.update(md.properties)
358
 
            verifiers = md.verifiers
359
 
        else:
360
 
            roundtrip_revid = None
361
 
            verifiers = {}
362
 
        return rev, roundtrip_revid, verifiers
 
353
        return rev
363
354
 
364
355
    def get_fileid_map(self, lookup_object, tree_sha):
365
356
        """Obtain a fileid map for a particular tree.
407
398
        return ret
408
399
 
409
400
    def import_commit(self, commit, lookup_parent_revid):
410
 
        rev, roundtrip_revid, verifiers = super(BzrGitMappingExperimental, self).import_commit(commit, lookup_parent_revid)
 
401
        rev, file_ids = super(BzrGitMappingExperimental, self).import_commit(commit, lookup_parent_revid)
411
402
        rev.properties['converted_revision'] = "git %s\n" % commit.id
412
 
        return rev, roundtrip_revid, verifiers
 
403
        return rev, file_ids
413
404
 
414
405
 
415
406
class GitMappingRegistry(VcsMappingRegistry):
581
572
        self.mapping = mapping
582
573
 
583
574
    def lookup_file_id(self, path):
584
 
        assert type(path) is str
585
575
        try:
586
 
            file_id = self.file_ids[path]
 
576
            return self.file_ids[path]
587
577
        except KeyError:
588
 
            file_id = self.mapping.generate_file_id(path)
589
 
        assert type(file_id) is str
590
 
        return file_id
 
578
            return self.mapping.generate_file_id(path)
591
579
 
592
580
    def lookup_path(self, file_id):
593
581
        if self.paths is None:
595
583
            for k, v in self.file_ids.iteritems():
596
584
                self.paths[v] = k
597
585
        try:
598
 
            path = self.paths[file_id]
 
586
            return self.paths[file_id]
599
587
        except KeyError:
600
588
            return self.mapping.parse_file_id(file_id)
601
 
        else:
602
 
            assert type(path) is str
603
 
            return path