diff --git a/README.md b/README.md --- a/README.md +++ b/README.md @@ -32,10 +32,11 @@ ## Remote (failure) ``` Python +project = 'distutils2' # remote repository -origin_url = 'https://www.mercurial-scm.org/repo/hello' +origin_url = 'https://www.mercurial-scm.org/repo/%s' % project # local clone -directory = '/home/storage/hg/repo/hello' +directory = '/home/storage/hg/repo/%s' % project import logging logging.basicConfig(level=logging.DEBUG) diff --git a/swh/loader/mercurial/bundle20_loader.py b/swh/loader/mercurial/bundle20_loader.py --- a/swh/loader/mercurial/bundle20_loader.py +++ b/swh/loader/mercurial/bundle20_loader.py @@ -284,6 +284,7 @@ def load_directories(self): """This is where the work is done to convert manifest deltas from the repository bundle into SWH directories. + """ self.mnode_to_tree_id = {} cache_hints = self.br.build_manifest_hints() @@ -324,7 +325,9 @@ yield header, tree, new_dirs def get_directories(self): - """Get the directories that need to be loaded.""" + """Compute directories to load + + """ dirs = {} self.num_directories = 0 for _, _, new_dirs in self.load_directories(): @@ -341,7 +344,9 @@ dirs = {} def get_revisions(self): - """Get the revisions that need to be loaded.""" + """Compute revisions to load + + """ revisions = {} self.num_revisions = 0 for header, commit in self.br.yield_all_changesets(): @@ -420,12 +425,21 @@ return node, name def get_releases(self): - """Get the releases that need to be loaded.""" - self.num_releases = 0 - releases = {} - missing_releases = [] + """No release as they don't hold metadata information, it's referenced + directly in the snapshot (cf. get_snapshot method) + + """ + return [] + + def get_snapshot(self): + """Compute the snapshot to load + + """ + branches = {} + for name, target in self.heads.items(): + branches[name] = {'target': target, 'target_type': 'revision'} + for t in self.tags: - self.num_releases += 1 node, name = self._read_tag(t) node = node.decode() node_bytes = hashutil.hash_to_bytes(node) @@ -439,37 +453,10 @@ (name.decode(), node)) continue tgt_rev = self.node_2_rev[node_bytes] - release = { - 'name': name, + branches[name] = { 'target': tgt_rev, 'target_type': 'revision', - 'message': None, - 'metadata': None, - 'synthetic': False, - 'author': {'name': None, 'email': None, 'fullname': b''}, - 'date': None } - id_hash = hashutil.hash_to_bytes( - identifiers.release_identifier(release)) - release['id'] = id_hash - missing_releases.append(id_hash) - releases[id_hash] = release - self.releases[name] = id_hash - - if missing_releases: - missing_releases = set( - self.storage.release_missing(missing_releases)) - - for _id in missing_releases: - yield releases[_id] - - def get_snapshot(self): - """Get the snapshot that need to be loaded.""" - branches = {} - for name, target in self.heads.items(): - branches[name] = {'target': target, 'target_type': 'revision'} - for name, target in self.releases.items(): - branches[name] = {'target': target, 'target_type': 'release'} snap = { 'id': None,