Fix FileMove (used on deletions) not working for directories on macOS
This commit is contained in:
parent
edaeb9a400
commit
22e269902b
|
@ -2477,8 +2477,16 @@ function FileMove () {
|
||||||
mv -f "$source" "$dest"
|
mv -f "$source" "$dest"
|
||||||
return $?
|
return $?
|
||||||
elif [ -w "$source" ]; then
|
elif [ -w "$source" ]; then
|
||||||
[ -f "$dest" ] && rm -f "$dest"
|
if [ -f "$dest" ]; then # for files we don't need recursive delete
|
||||||
cp -p "$source" "$dest" && rm -f "$source"
|
rm -f "$dest"
|
||||||
|
elif [ -d "$dest" ]; then # for directories we need recursive delete
|
||||||
|
rm -rf "$dest"
|
||||||
|
fi
|
||||||
|
if [ -f "$source" ]; then
|
||||||
|
cp -p "$source" "$dest" && rm -f "$source" # for files we don't need recursive copy & delete
|
||||||
|
elif [ -d "$source" ]; then
|
||||||
|
cp -rp "$source" "$dest" && rm -rf "$source" # for directories we need recursive copy & delete
|
||||||
|
fi
|
||||||
return $?
|
return $?
|
||||||
else
|
else
|
||||||
return -1
|
return -1
|
||||||
|
@ -4865,8 +4873,16 @@ function FileMove () {
|
||||||
mv -f "$source" "$dest"
|
mv -f "$source" "$dest"
|
||||||
return $?
|
return $?
|
||||||
elif [ -w "$source" ]; then
|
elif [ -w "$source" ]; then
|
||||||
[ -f "$dest" ] && rm -f "$dest"
|
if [ -f "$dest" ]; then # for files we don't need recursive delete
|
||||||
cp -p "$source" "$dest" && rm -f "$source"
|
rm -f "$dest"
|
||||||
|
elif [ -d "$dest" ]; then # for directories we need recursive delete
|
||||||
|
rm -rf "$dest"
|
||||||
|
fi
|
||||||
|
if [ -f "$source" ]; then
|
||||||
|
cp -p "$source" "$dest" && rm -f "$source" # for files we don't need recursive copy & delete
|
||||||
|
elif [ -d "$source" ]; then
|
||||||
|
cp -rp "$source" "$dest" && rm -rf "$source" # for directories we need recursive copy & delete
|
||||||
|
fi
|
||||||
return $?
|
return $?
|
||||||
else
|
else
|
||||||
return -1
|
return -1
|
||||||
|
|
|
@ -2504,8 +2504,16 @@ function FileMove () {
|
||||||
mv -f "$source" "$dest"
|
mv -f "$source" "$dest"
|
||||||
return $?
|
return $?
|
||||||
elif [ -w "$source" ]; then
|
elif [ -w "$source" ]; then
|
||||||
[ -f "$dest" ] && rm -f "$dest"
|
if [ -f "$dest" ]; then # for files we don't need recursive delete
|
||||||
cp -p "$source" "$dest" && rm -f "$source"
|
rm -f "$dest"
|
||||||
|
elif [ -d "$dest" ]; then # for directories we need recursive delete
|
||||||
|
rm -rf "$dest"
|
||||||
|
fi
|
||||||
|
if [ -f "$source" ]; then
|
||||||
|
cp -p "$source" "$dest" && rm -f "$source" # for files we don't need recursive copy & delete
|
||||||
|
elif [ -d "$source" ]; then
|
||||||
|
cp -rp "$source" "$dest" && rm -rf "$source" # for directories we need recursive copy & delete
|
||||||
|
fi
|
||||||
return $?
|
return $?
|
||||||
else
|
else
|
||||||
return -1
|
return -1
|
||||||
|
|
24
osync.sh
24
osync.sh
|
@ -2327,8 +2327,16 @@ function FileMove () {
|
||||||
mv -f "$source" "$dest"
|
mv -f "$source" "$dest"
|
||||||
return $?
|
return $?
|
||||||
elif [ -w "$source" ]; then
|
elif [ -w "$source" ]; then
|
||||||
[ -f "$dest" ] && rm -f "$dest"
|
if [ -f "$dest" ]; then # for files we don't need recursive delete
|
||||||
cp -p "$source" "$dest" && rm -f "$source"
|
rm -f "$dest"
|
||||||
|
elif [ -d "$dest" ]; then # for directories we need recursive delete
|
||||||
|
rm -rf "$dest"
|
||||||
|
fi
|
||||||
|
if [ -f "$source" ]; then
|
||||||
|
cp -p "$source" "$dest" && rm -f "$source" # for files we don't need recursive copy & delete
|
||||||
|
elif [ -d "$source" ]; then
|
||||||
|
cp -rp "$source" "$dest" && rm -rf "$source" # for directories we need recursive copy & delete
|
||||||
|
fi
|
||||||
return $?
|
return $?
|
||||||
else
|
else
|
||||||
return -1
|
return -1
|
||||||
|
@ -4657,8 +4665,16 @@ function FileMove () {
|
||||||
mv -f "$source" "$dest"
|
mv -f "$source" "$dest"
|
||||||
return $?
|
return $?
|
||||||
elif [ -w "$source" ]; then
|
elif [ -w "$source" ]; then
|
||||||
[ -f "$dest" ] && rm -f "$dest"
|
if [ -f "$dest" ]; then # for files we don't need recursive delete
|
||||||
cp -p "$source" "$dest" && rm -f "$source"
|
rm -f "$dest"
|
||||||
|
elif [ -d "$dest" ]; then # for directories we need recursive delete
|
||||||
|
rm -rf "$dest"
|
||||||
|
fi
|
||||||
|
if [ -f "$source" ]; then
|
||||||
|
cp -p "$source" "$dest" && rm -f "$source" # for files we don't need recursive copy & delete
|
||||||
|
elif [ -d "$source" ]; then
|
||||||
|
cp -rp "$source" "$dest" && rm -rf "$source" # for directories we need recursive copy & delete
|
||||||
|
fi
|
||||||
return $?
|
return $?
|
||||||
else
|
else
|
||||||
return -1
|
return -1
|
||||||
|
|
Loading…
Reference in New Issue