Skip to content

Commit

Permalink
add 'ghpages' script
Browse files Browse the repository at this point in the history
  • Loading branch information
fifthposition committed Jul 31, 2015
1 parent eb7fd58 commit 70006f6
Showing 1 changed file with 47 additions and 0 deletions.
47 changes: 47 additions & 0 deletions ghpages.sh
@@ -0,0 +1,47 @@
#!/bin/bash -x

git remote set-url --push origin `git config remote.origin.url | sed -e 's/^git:/https:/'`

if ! (git remote set-branches --add origin gh-pages && git fetch -q); then
echo "No gh-pages, so not syncing"
exit 0
fi

if ! [ -d docs/target/generated-docs ]; then
echo "No gh-pages sources in docs/target/generated-docs, so not syncing"
exit 0
fi

# Stash any outstanding changes
###################################################################
git diff-index --quiet HEAD
dirty=$?
if [ "$dirty" != "0" ]; then git stash; fi

# Switch to gh-pages branch to sync it with master
###################################################################
git checkout gh-pages

for f in docs/target/generated-docs/*; do
file=${f#docs/target/generated-docs/*}
if ! git ls-files -i -o --exclude-standard --directory | grep -q ^$file$; then
# Not ignored...
cp -rf $f .
git add -A $file
fi
done

git commit -a -m "Sync docs from master to gh-pages"

# Uncomment the following push if you want to auto push to
# the gh-pages branch whenever you commit to master locally.
# This is a little extreme. Use with care!
###################################################################
#git push origin gh-pages

# Finally, switch back to the master branch and exit block
git checkout master
if [ "$dirty" != "0" ]; then git stash pop; fi

exit 0

0 comments on commit 70006f6

Please sign in to comment.