Начало проекта
This commit is contained in:
81
bin/myx-dev-git-init
Executable file
81
bin/myx-dev-git-init
Executable file
@ -0,0 +1,81 @@
|
||||
#!/bin/bash
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
key="$1"
|
||||
|
||||
case $key in
|
||||
-s|--server)
|
||||
SERVER="$2"
|
||||
shift # past argument
|
||||
shift # past value
|
||||
;;
|
||||
-d|--dir|--directory)
|
||||
DIRECTORY="$2"
|
||||
shift # past argument
|
||||
shift # past value
|
||||
;;
|
||||
*) # unknown option
|
||||
DIRECTORY="$1"
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
[[ -z "$DIRECTORY" ]] && DIRECTORY="$(pwd)"
|
||||
if [[ -d "${DIRECTORY}/.git" ]]; then
|
||||
echo "Directory already has repository. Exiting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
[[ -z "${SERVER}" ]] && SERVER=gitlab.2
|
||||
|
||||
TYPE=gitea
|
||||
[[ "${SERVER}" == *"gitlab"* ]] && TYPE=gitlab
|
||||
|
||||
if [[ "$TYPE" == "gitea" ]]; then
|
||||
BASE_URL="https://${SERVER}"
|
||||
BRANCH_API="raw/branch"
|
||||
GITHOOKS_ARCHIVE="archive/master.tar.gz"
|
||||
fi
|
||||
|
||||
if [[ "$TYPE" == "gitlab" ]]; then
|
||||
BASE_URL="http://${SERVER}"
|
||||
BRANCH_API="-/raw"
|
||||
GITHOOKS_ARCHIVE="-/archive/master/githooks-master.tar.gz"
|
||||
fi
|
||||
|
||||
if ! mkdir -p "$DIRECTORY"; then
|
||||
echo "Can't create directory for git repository"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
pushd "$DIRECTORY" >/dev/null
|
||||
|
||||
if ! git init; then
|
||||
echo "Can't create git repository in directory $DIRECTORY"
|
||||
exit 1
|
||||
fi
|
||||
mkdir -p files/{etc,log,share,var}
|
||||
touch files/{etc,log,share,var}/.gitkeep
|
||||
|
||||
wget "${BASE_URL}/f1x1t/cmake-format/${BRANCH_API}/master/.cmake-format.py"
|
||||
wget "${BASE_URL}/f1x1t/cmlib-gitignore/${BRANCH_API}/master/.gitignore"
|
||||
wget "${BASE_URL}/f1x1t/gitlab-ci/${BRANCH_API}/master/.gitlab-ci.yml"
|
||||
wget -o files/etc/uncrustify.cfg "${BASE_URL}/f1x1t/uncrustify-config/${BRANCH_API}/master/default.cfg"
|
||||
wget -O - "${BASE_URL}/f1x1t/githooks/${GITHOOKS_ARCHIVE}" | tar zx --strip-components=1 -C .git/hooks
|
||||
|
||||
sed -i '/.*_CMD.*/d' .gitlab-ci.yml
|
||||
sed -i '/.*variables:.*/d' .gitlab-ci.yml
|
||||
sed -i 's/^UNCRUST_CONFIG.*/UNCRUST_CONFIG=$REPO\/files\/etc\/uncrustify.cfg/' .git/hooks/pre-commit-uncrustify.cfg
|
||||
|
||||
git add .cmake-format.py .gitignore .gitlab-ci.yml files
|
||||
git commit -m "Начало проекта"
|
||||
|
||||
if [ -e .gitmodules ]; then
|
||||
sed -i 's/git@${SERVER}:/..\/..\//' .gitmodules
|
||||
git submodule sync --recursive
|
||||
git commit -m "Относительные пути к подмодулям" .gitmodules
|
||||
fi
|
||||
|
||||
popd >/dev/null
|
||||
|
Reference in New Issue
Block a user