NOTE This folder contains historical scripts from migrations of the OpenOffice.org website. This is both the migration described in this README and the original migration from Oracle's Kenai to the deprecated and decommissioned Apache CMS
cd ~/Development/openoffice rm -rf ooo-site.git git clone https://gitbox.apache.org/repos/asf/openoffice-org.git ooo-site.git git fetch git pull git checkout main
cd ~/Development/openoffice/ooo-sit.git/content/
These files are processed by templates
cd ~/Development/openoffice/ooo-sit.git/assets/
These are copied to the site unmodified.
cd ~/Development/openoffice rm -rf ooo-site svn co https://svn.apache.org/repos/asf/openoffice/ooo-site/trunk ooo-site
# location of CMS content export SVNPATH="~/Development/openoffice/ooo-site/content" # location of Git repository checkout export GITPATH="~/Development/openoffice/ooo-site.git"
These won‘t be done in one session. Make the list and track what you’ve migrated.
cd ${SVNPATH}
find . -type d -depth 1 -print | sed -e 's!./!!' | sort
You could compare with the git targets with:
cd ${GITPATH}/assets
find . -type d -depth 1 -print | sed -e 's!./!!' | sort
cd ${GITPATH}/content
find . -type d -depth 1 -print | sed -e 's!./!!' | sort
cd ${SVNPATH}
${GITPATH}/tools/migration2git.sh downloads
Some folders are larger than others. Pay attention to the running count.
cd ${GITPATH}
./build_staging.sh
# on asf-staging branch
./copy_staging.sh
# on asf-site branch
This is done so that the commits in asf-staging and asf-site do not get too large.
tools/commit2git.sh ${1} ${2} ${3}# ${1} Category 'assets','content'
# ${2} Path to commit
# ${3} Description for commit message - 'assets','large asset','html content','Markdown pages','brand','navigator'
cd ${GITPATH}
git add ${1}/${2}
git commit -m 'Migration of ${2} ${3}'
tools/convert2md.sh ${1} ${2}
tools/convert2md2.sh was used in the part2 migration for api.
# ${1} Template type 'brand','navigator','page'
# ${2} Path of mdtext file to convert to md file
echo 'type=${1}' > ${GITPATH}/content/${2}
nawk -f ${GITPATH}/tools/convert2md.awk ${2} >> ${GITPATH}/content/${2}
tools/migration2git.sh ${1}
tools/migration2git2.sh and tools/migration4css.sh were run in later phases.
# ${1} Site folder to migrate
cd ${SVNPATH}
echo 'Migrating ${SVNPATH}/${1} to ${GITPATH}
echo
# 1 - Tree structure
echo 'copy directory structure to assets and content trees'
find ${1} -type d ! -empty -exec mkdir -p ${GITPATH}/assets/{} \; -exec mkdir -p ${GITPATH}/content/{} \;
# git does not commit empty directories
echo
# 2 - Large Assets
echo 'copy assets larger than 3M as separate commits'
find ${1} -type f -size +3M -exec cp {} ${GITPATH}/assets/{} \; -exec ${GITPATH}/tools/commit2git.sh assets {} 'large asset' \;
echo
# 3 - Assets
echo 'copy assets not (html and mdtext) to assets tree'
find ${1} -type f ! -name "*.html" ! -name "*.htm" ! -name "*.mdtext" ! -size +3M -exec cp -p {} ${GITPATH}/assets/{} \;
# commit and push
${GITPATH}/tools/commit2git.sh assets ${1} 'assets'
echo
# 4 - HTML
echo 'copy html to content tree'
find ${1} -type f \( -name "*.html" -or -name "*.htm" \) ! -size +3M -exec cp -p {} ${GITPATH}/content/{} \;
# commit and push
${GITPATH}/tools/commit2git.sh content ${1} 'html content'
echo
# 5 - Brand
echo 'Convert brand'
find ${1} -name "brand.mdtext" -type f -exec ${GITPATH}/tools/convert2md.sh brand {} \;
echo
# 6 - Navigators
echo 'Convert navigators'
find ${1} -name "*nav.mdtext" -type f -exec ${GITPATH}/tools/convert2md.sh navigator {} \;
echo
# 7 - Markdown
echo 'Convert markdown pages'
find ${1} -name "*.mdtext" ! -name "brand.mdtext" ! -name "*nav.mdtext" -type f -exec ${GITPATH}/tools/convert2md.sh page {} \;
# commit and push
${GITPATH}/tools/commit2git.sh content ${1} 'Markdown pages'
echo
# 8 - Push to git
echo 'Push to Gitbox'
${GITPATH}/tools/push2git.sh
tools/push2git.shcd ${GITPATH}
git push