get rid of dependencies (pure bash)

pull/188/head
Martin Zuther 4 years ago
parent 45b218d5c1
commit 9c9a750009
No known key found for this signature in database
GPG Key ID: 47D3346D758A37D8

@ -46,28 +46,24 @@ if [ ! -f "$YADM_CHECKSUMS" ]; then
exit "$YADM_HOOK_EXIT"
fi
# list encrypted files; try to satisfy the "list -a" argument and
# beautify the output (requires "grep" and "sed")
if command -v grep > /dev/null && command -v sed > /dev/null; then
# list encrypted files
while IFS= read -r filename; do
# remove checksums from file names
while IFS= read -r filename; do
if [ $OPTION_LIST_ALL -eq 0 ]; then
# list only files in the subdirectories below (i.e. files
# whose relative path doesn't begin with "../")
REL_PATH=$(relative_path "$PWD" "$YADM_HOOK_WORK/$filename")
filename="${filename##[a-zA-Z0-9]* }"
if ! echo "$REL_PATH" | grep '^\.\./' > /dev/null; then
echo "$REL_PATH"
fi
else
# list all files
echo "$filename"
# list only files in the subdirectories below (i.e. files
# whose relative path doesn't begin with "../")
if [ $OPTION_LIST_ALL -eq 0 ]; then
REL_PATH=$(relative_path "$PWD" "$YADM_HOOK_WORK/$filename")
if [ "$REL_PATH" = "${REL_PATH##../}" ]; then
echo "$REL_PATH"
fi
done <<< "$(sed -r 's/^\S+\s+//' "$YADM_CHECKSUMS")"
else
# just display checksum file
cat "$YADM_CHECKSUMS"
fi
# list all files
else
echo "$filename"
fi
done <<< "$(cat "$YADM_CHECKSUMS")"
# return original exit status of yadm command
exit "$YADM_HOOK_EXIT"

@ -83,10 +83,12 @@ if [ $ERROR_CODE -ne 0 ]; then
echo -e "\033[0;31m"
while IFS= read -r line; do
# try to beautify output (requires "grep" and "sed")
if command -v grep > /dev/null && command -v sed > /dev/null; then
echo "$line" | grep -iv "\sok$" | sed 's/^/ / ; s/: FAILED$// ; /^.*WARNING:.*did NOT match$/ d'
else
# beautify output and get rid of unnecessary lines
line="${line%%*: [Oo][Kk]}"
line="${line%%: [Ff][Aa][Ii][Ll][Ee][Dd]}"
line="${line##*WARNING:*did NOT match}"
if [ -n "$line" ]; then
echo "$line"
fi
done <<< "$YADM_CHECKSUM_OUTPUT"

Loading…
Cancel
Save