Skip to content

initial CVS loader stub

Add 'swh/loader/cvs/cvs2gitdump/'

Obtained from commit 301a72682d92b11d809eb7476a21ac354b826beb of repository https://github.com/yasuoka/cvs2gitdump

Add 'swh/loader/cvs/rcsparse/'

Obtained from commit 206bca0b90f5780815c0b6c6cbccfd03f27f6985 of repository https://github.com/corecode/rcsparse

rcsparse python3 support patches from OpenBSD ports

https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/devel/py-rcsparse/patches/ $OpenBSD: patch-py-rcsparse_c,v 1.4 2021/02/18 03:35:07 yasuoka Exp $ $OpenBSD: patch-testmodule_py,v 1.2 2021/02/18 03:35:07 yasuoka Exp $

compile rcsparse extension

remove the 'foo' module and references to it

rcsparse: add missing allocation failure check in parsetoken()

add stub for an initial test

remove bogus import

get the 'prepare' step working

force our local rcsparse dependency; upstream does not yet support py3

get fetch_data working

populate a work tree with files checked out from the repository

ignore ENOENT when removing files

create subdirectories in the work tree

document fetch_data() method

add converted CVS revisions to storage

the trivial first visit test is passing now

enable check_snapshot() in test_loader_cvs_visit()

test two consecutive visits

fix rsync URL processing in fetch_cvs_repo_with_rsync()

The last path component of the URL corresponds to the CVS module name, and the CVSROOT directory is expected to be a path-wise sibling of this module.

do not call self.storage.revision_get() more often than necessary

use an iterator to process swh revisions; reduces memory usage

change logging level of per-revision info from DEBUG to INFO

link revisions to their parents and add another small test

remove unused CvsLoader class members and constructor arguments

drop support for using previous snapshots as base for new ones

replace global self.rcs variable with use of local variables

cvs2gitdump: avoid parsing rcs files inside expand_keyword()

avoid double-parsing of rcsfiles while processing a changeset

copy over the pre_cleanup() handler from the SVN loader

remove unused imports

simply assign to empty lists in order to clear per-changeset data

switch log level of an informative progress message from debug to info

add test case doing an incremental visit

implement support for import via cvs pserver protocol

remove unused keyword parameter to fix loading of the cvs loader

update README

document how tests can be run

the loader expects a URL argument

Related to T2845


Migrated from D5988 (view on Phabricator)

Merge request reports