Hello, some here said that they want a tool to migrate the repository data from svn to fossil. I wrote some very poor scripts that did the job for me; being as simple as they are, they are not very generic but they may be easier to adapt than a 300 lines script.
The manual procedure I did: - Get a checkout of trunk: svn co REPO/trunk - There get a list of the revisions of trunk from oldest to newest: svn log ^/trunk | grep '^r[0-9]' | sed 's/r\([0-9]\+\).*/\1/' | tac > ../revs-trunk - Look at the date of the older revision, and create a new fossil repository: fossil new --date-override DATE_OLDER_THAN_OLDEST_SVN_COMMIT ../repo.fossil - Try to update to the oldest revision: svn update -r OLDEST - Open fossil fossil open ../repo.fossil - Call the import script I attach: sh PATH/import If any bad happens in the middle, note the revision where it failed, edit the ../revs-trunk so it starts back at that revision on the next 'import' run, and fix whatever will make the 'import' script keep on working. This may be of little use, but I better send it to the list instead of keeping it in hiding. Regards, Lluís.
#!/bin/sh set -e set -x for a in `cat ../revs-trunk`; do MESSAGE="snv r$a `svn log -r $a | head -n -1 | tail -n +3`" svn update -r $a SUSER="`svn info | grep "Last Changed Author" | sed 's/.*: \([^ ]\+\).*/\1/' `" SDATE="`svn info | grep "Last Changed Date" | sed 's/.*: \(.\+\) +.*/\1/' `" fossil add * fossil changes | grep MISSING | sed "s/MISSING //" | xargs -d '\n' fossil delete # It may fail if no changes found, like changing properties fossil commit -m "$MESSAGE" --date-override "$SDATE" --user-override "$SUSER" || true done
_______________________________________________ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users