I use a standard set of templates, changes are made in api-header.mustache and api-source.mustache. Their _old versions contain the originals. Additions are necessary for the header argument in the generated functions so that you can authenticate using cookies.
57 lines
1.8 KiB
Text
57 lines
1.8 KiB
Text
#!/bin/sh
|
|
# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
|
|
#
|
|
# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com"
|
|
|
|
git_user_id=$1
|
|
git_repo_id=$2
|
|
release_note=$3
|
|
git_host=$4
|
|
|
|
if [ "$git_host" = "" ]; then
|
|
git_host="{{{gitHost}}}"
|
|
echo "[INFO] No command line input provided. Set \$git_host to $git_host"
|
|
fi
|
|
|
|
if [ "$git_user_id" = "" ]; then
|
|
git_user_id="{{{gitUserId}}}"
|
|
echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
|
|
fi
|
|
|
|
if [ "$git_repo_id" = "" ]; then
|
|
git_repo_id="{{{gitRepoId}}}"
|
|
echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
|
|
fi
|
|
|
|
if [ "$release_note" = "" ]; then
|
|
release_note="{{{releaseNote}}}"
|
|
echo "[INFO] No command line input provided. Set \$release_note to $release_note"
|
|
fi
|
|
|
|
# Initialize the local directory as a Git repository
|
|
git init
|
|
|
|
# Adds the files in the local repository and stages them for commit.
|
|
git add .
|
|
|
|
# Commits the tracked changes and prepares them to be pushed to a remote repository.
|
|
git commit -m "$release_note"
|
|
|
|
# Sets the new remote
|
|
git_remote=$(git remote)
|
|
if [ "$git_remote" = "" ]; then # git remote not defined
|
|
|
|
if [ "$GIT_TOKEN" = "" ]; then
|
|
echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment."
|
|
git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git
|
|
else
|
|
git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git
|
|
fi
|
|
|
|
fi
|
|
|
|
git pull origin master
|
|
|
|
# Pushes (Forces) the changes in the local repository up to the remote repository
|
|
echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git"
|
|
git push origin master 2>&1 | grep -v 'To https'
|