First implementation
Roughly,
Initial
- create origin for that svn url
- svn checkout url@1 (anonymous checkout)
- iterate logs over revisions from start to HEAD
- checkout svn revision
- compute sha1 contents and directories and upper directory sha1
- create swh revision for that svn revision
- create occurrence targetting the last revision (with reference to svn one in metadata)
- send all data for storage in swh-storage.
Update
- check occurrence existence for the origin
- occurrence does not exist, deal same as
Initial import
and stop. - Retrieve last seen svn revision
- Checkout that revision, compute that revision's swh revision checksum
- Compare those, if mismatch, stop since the history has been altered.
- Otherwise iterate over logs from svn revision to head, and compute checksums and send for storage (the same as previous step in initial import).
Migrated from T364 (view on Phabricator)
Edited by Phabricator Migration user