implement rebuild command that reuses git_archive_all

This commit is contained in:
Michael Hobbs
2015-01-27 15:00:00 -08:00
parent 2a756ff3a4
commit 9f985077c7
3 changed files with 35 additions and 2 deletions

View File

@@ -6,14 +6,13 @@ git_archive_all() {
TMP_WORK_DIR=$(mktemp -d)
chmod 755 $TMP_WORK_DIR
unset GIT_DIR GIT_WORK_TREE
git clone -q $DOKKU_ROOT/$APP $TMP_WORK_DIR &> /dev/null
pushd $TMP_WORK_DIR > /dev/null
git clone -q $DOKKU_ROOT/$APP $TMP_WORK_DIR &> /dev/null
git config advice.detachedHead false
git checkout $REV &> /dev/null
git submodule update --init --recursive &> /dev/null
find -name .git -prune -exec rm -rf {} \; > /dev/null
tar c .
popd > /dev/null
rm -rf $TMP_WORK_DIR > /dev/null
}
@@ -41,6 +40,11 @@ case "$1" in
pluginhook git-post-pull $APP
;;
git-rebuild)
APP="$2"; REF=$(< "$DOKKU_ROOT/$APP/refs/heads/master")
git_archive_all $APP $REF | dokku receive $APP | sed -u "s/^/"$'\e[1G'"/"
;;
git-*)
APP="$(echo $2 | perl -pe 's/(?<!\\)'\''//g' | sed 's/\\'\''/'\''/g')"
APP_PATH=$DOKKU_ROOT/$APP