Recursive ignore files
This commit is contained in:
26
kewt.sh
26
kewt.sh
@@ -154,7 +154,7 @@ out="${out%/}"
|
|||||||
|
|
||||||
[ -d "$src" ] || die "Source directory '$src' does not exist."
|
[ -d "$src" ] || die "Source directory '$src' does not exist."
|
||||||
|
|
||||||
IGNORE_ARGS="-name .git -o -name .kewtignore -o -name .*"
|
IGNORE_ARGS="-name '.kewtignore' -o -name '.*'"
|
||||||
|
|
||||||
if [ -f "$src/.kewtignore" ]; then
|
if [ -f "$src/.kewtignore" ]; then
|
||||||
while IFS= read -r line || [ -n "$line" ]; do
|
while IFS= read -r line || [ -n "$line" ]; do
|
||||||
@@ -168,21 +168,23 @@ if [ -f "$src/.kewtignore" ]; then
|
|||||||
pattern_clean="${pattern_clean%/}"
|
pattern_clean="${pattern_clean%/}"
|
||||||
|
|
||||||
if echo "$pattern" | grep -q "/"; then
|
if echo "$pattern" | grep -q "/"; then
|
||||||
IGNORE_ARGS="$IGNORE_ARGS -o -path '$src/$pattern_clean'"
|
IGNORE_ARGS="$IGNORE_ARGS -o -path '$src/$pattern_clean' -o -path '$src/$pattern_clean/*'"
|
||||||
else
|
else
|
||||||
IGNORE_ARGS="$IGNORE_ARGS -o -name '$pattern_clean'"
|
IGNORE_ARGS="$IGNORE_ARGS -o -name '$pattern_clean'"
|
||||||
fi
|
fi
|
||||||
done < "$src/.kewtignore"
|
done < "$src/.kewtignore"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for ki in $(find "$src" -name .kewtignore); do
|
find "$src" -name .kewtignore > "/tmp/kewt_ignore_$$"
|
||||||
|
while read -r ki; do
|
||||||
d="${ki%/.kewtignore}"
|
d="${ki%/.kewtignore}"
|
||||||
if [ "$d" != "$src" ] && [ "$d" != "." ]; then
|
if [ "$d" != "$src" ] && [ "$d" != "." ]; then
|
||||||
IGNORE_ARGS="$IGNORE_ARGS -o -path '$d'"
|
IGNORE_ARGS="$IGNORE_ARGS -o -path '$d' -o -path '$d/*'"
|
||||||
fi
|
fi
|
||||||
done
|
done < "/tmp/kewt_ignore_$$"
|
||||||
|
rm -f "/tmp/kewt_ignore_$$"
|
||||||
|
|
||||||
HIDE_ARGS="-name .git -o -name .kewtignore -o -name .kewthide -o -name .kewtpreserve -o -name .*"
|
HIDE_ARGS="-name '.kewtignore' -o -name '.kewthide' -o -name '.kewtpreserve' -o -name '.*'"
|
||||||
|
|
||||||
if [ -f "$src/.kewthide" ]; then
|
if [ -f "$src/.kewthide" ]; then
|
||||||
while IFS= read -r line || [ -n "$line" ]; do
|
while IFS= read -r line || [ -n "$line" ]; do
|
||||||
@@ -203,12 +205,14 @@ if [ -f "$src/.kewthide" ]; then
|
|||||||
done < "$src/.kewthide"
|
done < "$src/.kewthide"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for kh in $(find "$src" -name .kewthide); do
|
find "$src" -name .kewthide > "/tmp/kewt_hide_$$"
|
||||||
|
while read -r kh; do
|
||||||
d="${kh%/.kewthide}"
|
d="${kh%/.kewthide}"
|
||||||
if [ "$d" != "$src" ] && [ "$d" != "." ]; then
|
if [ "$d" != "$src" ] && [ "$d" != "." ]; then
|
||||||
HIDE_ARGS="$HIDE_ARGS -o -path '$d' -o -path '$d/*'"
|
HIDE_ARGS="$HIDE_ARGS -o -path '$d' -o -path '$d/*'"
|
||||||
fi
|
fi
|
||||||
done
|
done < "/tmp/kewt_hide_$$"
|
||||||
|
rm -f "/tmp/kewt_hide_$$"
|
||||||
|
|
||||||
PRESERVE_ARGS="-false"
|
PRESERVE_ARGS="-false"
|
||||||
|
|
||||||
@@ -231,12 +235,14 @@ if [ -f "$src/.kewtpreserve" ]; then
|
|||||||
done < "$src/.kewtpreserve"
|
done < "$src/.kewtpreserve"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for kp in $(find "$src" -name .kewtpreserve); do
|
find "$src" -name .kewtpreserve > "/tmp/kewt_preserve_$$"
|
||||||
|
while read -r kp; do
|
||||||
d="${kp%/.kewtpreserve}"
|
d="${kp%/.kewtpreserve}"
|
||||||
if [ "$d" != "$src" ] && [ "$d" != "." ]; then
|
if [ "$d" != "$src" ] && [ "$d" != "." ]; then
|
||||||
PRESERVE_ARGS="$PRESERVE_ARGS -o -path '$d' -o -path '$d/*'"
|
PRESERVE_ARGS="$PRESERVE_ARGS -o -path '$d' -o -path '$d/*'"
|
||||||
fi
|
fi
|
||||||
done
|
done < "/tmp/kewt_preserve_$$"
|
||||||
|
rm -f "/tmp/kewt_preserve_$$"
|
||||||
|
|
||||||
generate_nav() {
|
generate_nav() {
|
||||||
dinfo=$(eval "find \"$1\" \( $IGNORE_ARGS -o $HIDE_ARGS -o $PRESERVE_ARGS \) -prune -o -print" | sort | awk -v src="$1" -f "$awk_dir/collect_dir_info.awk")
|
dinfo=$(eval "find \"$1\" \( $IGNORE_ARGS -o $HIDE_ARGS -o $PRESERVE_ARGS \) -prune -o -print" | sort | awk -v src="$1" -f "$awk_dir/collect_dir_info.awk")
|
||||||
|
|||||||
Reference in New Issue
Block a user