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)