Merge pull request #254 from poessl/fix-macos-directory-FileMove

Fix FileMove (used on deletions) not working for directories on macOS
This commit is contained in:
Orsiris de Jong 2023-06-04 16:49:36 +02:00 committed by GitHub
commit 01769189b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 50 additions and 10 deletions

View File

@ -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

View File

@ -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

View File

@ -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