Skip to main content

Software Heritage Mercurial Loader

Project description

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/

Basic use

The main entry point to import a Mercurial repository is the main function defined in the swh.loader.mercurial.cli module:

python3 -m swh.loader.mercurial.cli

If the Python package has been installed via pip, you should be able to type:

user@host:~$ swh-loader-hg --help

Usage: swh-loader-hg [OPTIONS] ORIGIN_URL

Options:
  -d, --hg-directory TEXT         Path to the hg (local) directory to load
                                  from. If unset, the hg repo will ben cloned
                                  from the given (origin) url
  -a, --hg-archive TEXT           Path to the hg (local) archive file to load
                                  from.
  -D, --visit-date TEXT           Visit date (defaults to now)
  -l, --log-level [NOTSET|DEBUG|INFO|WARNING|ERROR|CRITICAL]
                                  Log level
  --help                          Show this message and exit.

For example:

user@host:~$ swh-loader-hg https://www.mercurial-scm.org/repo/hello
[...]

From Python

From python3's toplevel:

Remote

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

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

from swh.loader.mercurial.tasks import LoadMercurial

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

local directory

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 LoadMercurial

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

local archive

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 LoadArchiveMercurial

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

swh.loader.mercurial-0.0.22.tar.gz (51.4 kB view hashes)

Uploaded Source

Built Distribution

swh.loader.mercurial-0.0.22-py3-none-any.whl (68.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page