feat: always initialize git repository

This fixes issues where alternative tools that don't trigger the init via sshcommand - such as git-http-backend - are not able to setup applications correctly.

Note that those apps could always manually trigger git:initialize if desired, but if the app already exists, then this should already _just work_ without that extra initialization.
This commit is contained in:
Jose Diaz-Gonzalez
2020-09-23 19:20:26 -04:00
parent 01bd69100c
commit 36215828f1
3 changed files with 22 additions and 3 deletions

View File

@@ -172,9 +172,14 @@ git_build() {
local REF="$REV"
else
DOKKU_DEPLOY_BRANCH="$(fn-git-deploy-branch "$APP")"
REF=$(<"$DOKKU_ROOT/$APP/refs/heads/$DOKKU_DEPLOY_BRANCH")
if [[ -f "$DOKKU_ROOT/$APP/refs/heads/$DOKKU_DEPLOY_BRANCH" ]]; then
REF=$(<"$DOKKU_ROOT/$APP/refs/heads/$DOKKU_DEPLOY_BRANCH")
fi
fi
if [[ -z "$REF" ]]; then
return
fi
# shellcheck disable=SC2086
git_build_app_repo $APP $REF
}

14
plugins/git/post-create Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_AVAILABLE_PATH/git/functions"
trigger-git-post-create() {
declare desc="initializes an app with the correct git repository structure"
declare trigger="post-create"
declare APP="$1"
fn-git-create-hook "$APP"
}
trigger-git-post-create "$@"