[parser] Added --git-dir option. Otherwise, GIT_DIR is defined as the current working directory

[cmd_deploy] [cmd_du] [cmd_exclude] [cmd_fsck] [cmd_include] [cmd_update] Added checks to ensure DB_FILE and GIT_DIR exist
This commit is contained in:
ayakael 2018-04-07 20:31:51 -04:00
parent 81a132c1e4
commit dc6464ab54
No known key found for this signature in database
GPG key ID: 575626A4AE5F4026
7 changed files with 67 additions and 12 deletions

View file

@ -16,6 +16,7 @@ cmd_deploy() {
local ERR=false
local DB_FILE="${TARGET}/${_OPT_DB_FILE}"
[[ ! -f "${DB_FILE}" ]] && return 1
[[ ! -f "${GIT_DIR}/.git" ]] && return 2
if [[ -z "$(grep LAST_DEPLOY ${DB_FILE})" ]]; then
echo -e "LAST_DEPLOY\t$(git -C "${GIT_DIR}" rev-list HEAD | tail -n 1)" >> ${DB_FILE}

View file

@ -14,7 +14,9 @@ cmd_du() {
local GIT_DIR="${1}"
local TARGET="${2}"
local DB_FILE="${TARGET}/${_OPT_DB_FILE}"
[[ ! -f "${DB_FILE}" ]] && return 1
[[ ! -f "${GIT_DIR}/.git" ]] && return 2
local imageidList=($(awk 'BEGIN{FS="\t"}{if($1=="true"){print $2}}' ${DB_FILE} | awk '!seen[$0]++'))
local DU="$(print_imageid_du ${GIT_DIR} ${imageidList[@]})"
_msg ECHO "Current estimated disk usage: ${DU} bytes"

View file

@ -20,7 +20,8 @@ cmd_exclude() {
local TARGET="${2}"
local DB_FILE="${TARGET}/${_OPT_DB_FILE}"; shift 2
local conditionList=("${@}")
echo ${conditionList[@]}
[[ ! -f "${DB_FILE}" ]] && return 1
[[ ! -f "${GIT_DIR}/.git" ]] && return 2
for condition in ${conditionList[@]}; do
_msg EXEC "Excluding all tracks that match the following condition: ${condition}"

View file

@ -14,6 +14,8 @@ cmd_fsck() {
local GIT_DIR="${1}"
local TARGET="${2}"
local DB_FILE="${TARGET}/${_OPT_DB_FILE}"
[[ ! -f "${DB_FILE}" ]] && return 1
[[ ! -f "${GIT_DIR}/.git" ]] && return 2
chk_deployed_ids "${TARGET}" "${DB_FILE}"
chk_nonexistent_ids "${TARGET}" "${DB_FILE}"

View file

@ -20,6 +20,8 @@ cmd_include() {
local TARGET="${2}"
local DB_FILE="${TARGET}/${_OPT_DB_FILE}"; shift 2
local conditionList=("${@}")
[[ ! -f "${DB_FILE}" ]] && return 1
[[ ! -f "${GIT_DIR}/.git" ]] && return 2
for condition in ${conditionList[@]}; do
_msg EXEC "Including all tracks that match the following condition: ${condition}"

View file

@ -14,6 +14,8 @@ cmd_update() {
local GIT_DIR="${1}"
local TARGET="${2}"
local DB_FILE="${TARGET}/${_OPT_DB_FILE}"
[[ ! -f "${DB_FILE}" ]] && return 1
[[ ! -f "${GIT_DIR}/.git" ]] && return 2
# In the event that LAST_COMMIT OR DB_FILE does not exist, echo out that the LAST_COMMIT
# is the first COMMIT of GIT_DIR, thus stating that no database update has ever occured

View file

@ -4,35 +4,80 @@
# Parses arguments and commands from shell
###
GIT_DIR="./"
#Recursive argument parser
while true; do
case ${1} in
--help)
help
exit
;;
--info)
help info
exit
;;
--git-dir=*)
if [ -z "${1#*=}" ]; then
help
else
log ECHO "--git-dir called. Git directory now defined as: ${1#*=}"
GIT_DIR="${1#*=}"
fi
;;
*)
break
;;
esac
shift
done
case "${1}" in
exclude)
shift
cmd_exclude ${@}
cmd_exclude "${GIT_DIR}" ${@}
[[ $? -eq 1 ]] && echo "Database file non-existent"
[[ $? -eq 2 ]] && echo "Git directory not a valid git repository"
;;
include)
shift
cmd_include ${@}
;;
cmd_include$ "${GIT_DIR}" ${@}
[[ $? -eq 1 ]] && echo "Database file non-existent"
[[ $? -eq 2 ]] && echo "Git directory not a valid git repository"
;;
deploy)
shift
cmd_deploy ${@}
;;
cmd_deploy "${GIT_DIR}" ${@}
[[ $? -eq 1 ]] && echo "Database file non-existent"
[[ $? -eq 2 ]] && echo "Git directory not a valid git repository"
;;
update)
shift
cmd_update ${@}
;;
cmd_update "${GIT_DIR}" ${@}
[[ $? -eq 1 ]] && echo "Database file non-existent"
[[ $? -eq 2 ]] && echo "Git directory not a valid git repository"
;;
du)
shift
cmd_du "${@}"
;;
cmd_du "${GIT_DIR}" "${@}"
[[ $? -eq 1 ]] && echo "Database file non-existent"
[[ $? -eq 2 ]] && echo "Git directory not a valid git repository"
;;
fsck)
shift
cmd_fsck "${@}"
cmd_fsck "${GIT_DIR}" "${@}"
;;
esac