Project Aon

Jon >

create svn repo on Dreamhost panel

create standard directory layout

    $ svn mkdir -m "Create conventional directory structure" \ 
https://svn.projectaon.org/books/trunk \
https://svn.projectaon.org/books/branches \
https://svn.projectaon.org/books/tags

check out svn repo

    $ cd $LOCALSVN
    $ svn checkout https://svn.projectaon.org/books/trunk ./

merge everything to master in git

    $ cd $LOCALGIT
    $ git checkout master
    $ git pull origin master
    $ git merge develop

create and commit .gitattributes based on .gitignore to avoid exporting stuff

    .gitignore export-ignore
    .gitattributes export-ignore
    *.epub export-ignore
    *.db export-ignore
    *.fb2 export-ignore
    *.gif export-ignore
    *.jpg export-ignore
    *.lrf export-ignore
    *.mobi export-ignore
    *.pdb export-ignore
    *.pdf export-ignore
    *.png export-ignore
    *.svgz export-ignore
    *.ttf export-ignore
    en/dot/** export-ignore
    en/epub/** export-ignore
    en/svg/** export-ignore
    en/xhtml** export-ignore
    logs/** export-ignore
    tmp/** export-ignore

export master to local svn repo

    $ git archive master | tar -x -C $LOCALSVN

clean up exported repo

    $ cd $LOCALSVN
    $ grep -rIL --exclude-dir=.svn .
    $ find . -depth -type d -empty -delete
    $ find . -type f -executable -print0 | grep -Pvz "\.(el|pl|sh)$" | xargs -0 chmod a-x

commit exported files to svn

    $ svn add --force ./
    $ svn commit -m"Import existing git repo"
    $ svn update

set svn:global-ignores and svn:ignores based on .gitignore patterns

gather binary files necessary to build the books

    $ find . -iname "*.gif" -not -path "*xhtml*" -print0 | tar -czvf project-aon-gif.tar.gz --null -T -
    $ find . \( -iname "*.jpg" -o -iname "*.jpeg" \) -not -path "*xhtml*" -print0 | tar -czvf project-aon-jpeg.tar.gz --null -T -
    $ find . -iname "*.pdf" -not -path "*xhtml*" -print0 | tar -czvf project-aon-pdf.tar.gz --null -T -
    $ find . -iname "*.png" -not -path "*xhtml*" -print0 | tar -czvf project-aon-png.tar.gz --null -T -
    $ find . \( -iname "*.svg" -o -iname "*.svgz" \) -not -path "*xhtml*" -print0 | tar -czvf project-aon-svg.tar.gz --null -T -
    $ find . -iname "*.ttf" -not -path "*xhtml*" -print0 | tar -czvf project-aon-ttf.tar.gz --null -T -
    $ find . -iname "*.db" -not -path "*xhtml*" -print0 | tar -czvf project-aon-sqlite.tar.gz --null -T -

create post-commit hook to email revision details

    ???