Skip to content
Snippets Groups Projects

swh-loader-mercurial

Configuration file

In usual location for a loader, {/etc/softwareheritage/ | ~/.swh/ | ~/.config/swh/}loader/hg.yml:

storage:
  cls: remote
  args:
    url: http://localhost:5002/

send_contents: True
send_directories: True
send_revisions: True
send_releases: True
send_occurrences: True
content_packet_size: 1000
content_packet_size_bytes: 1073741824
directory_packet_size: 2500
revision_packet_size: 1000
release_packet_size: 1000
occurrence_packet_size: 1000

Basic use

From python3's toplevel:

Remote (failure)

# remote repository
origin_url = 'https://www.mercurial-scm.org/repo/hello'
# local clone
directory = '/home/storage/hg/repo/hello'

import logging
logging.basicConfig(level=logging.DEBUG)

from swh.loader.mercurial.tasks import LoadMercurialTsk

t = LoadMercurialTsk()
t.run(origin_url=origin_url, directory=directory, visit_date='2016-05-03T15:16:32+00:00')

local directory (failure)

Only origin, contents, and directories are filled so far.

Remaining objects are empty (revision, release, occurrence).

project = '756015-ipv6'
directory = '/home/storage/hg/repo/%s' % project
origin_url = 'https://%s.googlecode.com' % project

import logging
logging.basicConfig(level=logging.DEBUG)

from swh.loader.mercurial.tasks import SlowLoadMercurialTsk

t = SlowLoadMercurialTsk()
t.run(origin_url=origin_url, directory=directory, visit_date='2016-05-03T15:16:32+00:00')

local archive (failure)

project = '756015-ipv6-source-archive.zip'
archive_path = '/home/storage/hg/repo/%s' % project
origin_url = 'https://%s-archive.googlecode.com' % project

import logging
logging.basicConfig(level=logging.DEBUG)

from swh.loader.mercurial.tasks import SlowLoadMercurialArchiveTsk

t = SlowLoadMercurialArchiveTsk()
t.run(origin_url=origin_url, archive_path=archive_path, visit_date='2016-05-03T15:16:32+00:00')