forked from Shinonome/dots-hyprland
bugfix
This commit is contained in:
+32
-9
@@ -191,14 +191,35 @@ if ! git pull; then
|
|||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
# run diff command to determine which files do only exist in the old dotfiles
|
deleted_files=()
|
||||||
diff_files=$(diff -qr "$base" "$temp_folder" | grep -E "^Only in $base" | awk '{print $4}')
|
renamed_files=()
|
||||||
for file in $diff_files; do
|
|
||||||
|
# Extract deleted files and save to variable
|
||||||
|
deleted_files=$(git diff --name-status HEAD origin/$current_branch | awk '$1 == "D" {print $2}')
|
||||||
|
|
||||||
|
# Extract renamed files and save to variable
|
||||||
|
renamed_files=$(git diff --name-status HEAD origin/$current_branch | awk '$1 ~ /^R/ {print $2}')
|
||||||
|
|
||||||
|
|
||||||
|
files_to_remove=()
|
||||||
|
|
||||||
|
for file in $deleted_files; do
|
||||||
|
|
||||||
if ! file_in_excludes "$file" && [[ ! " ${modified_files[*]} " =~ " $file " ]]; then
|
if ! file_in_excludes "$file" && [[ ! " ${modified_files[*]} " =~ " $file " ]]; then
|
||||||
echo -e "${YELLOW}File $file does not exist in the new dotfiles. Deleting...${RESET}"
|
files_to_remove+=("$file")
|
||||||
if [[ -e "$HOME/$file" ]]; then
|
fi
|
||||||
rm -rf "$HOME/$file"
|
done
|
||||||
fi
|
for file in $renamed_files; do
|
||||||
|
if ! file_in_excludes "$file" && [[ ! " ${modified_files[*]} " =~ " $file " ]]; then
|
||||||
|
files_to_remove+=("$file")
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Remove files
|
||||||
|
for file in "${files_to_remove[@]}"; do
|
||||||
|
echo -e "${YELLOW}Removing $file ...${RESET}"
|
||||||
|
if [[ -f "$HOME/$file" ]]; then
|
||||||
|
rm -rf "$HOME/$file"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -217,7 +238,7 @@ renamed_files=()
|
|||||||
deleted_files=$(git diff --name-status @{1} | awk '$1 == "D" {print $2}')
|
deleted_files=$(git diff --name-status @{1} | awk '$1 == "D" {print $2}')
|
||||||
|
|
||||||
# Extract renamed files and save to variable
|
# Extract renamed files and save to variable
|
||||||
renamed_files=$(git diff --name-status @{1} | awk '$1 ~ /^R/ {print $2, "->", $3}')
|
renamed_files=$(git diff --name-status @{1} | awk '$1 ~ /^R/ {print $2}')
|
||||||
|
|
||||||
|
|
||||||
files_to_remove=()
|
files_to_remove=()
|
||||||
@@ -237,7 +258,9 @@ done
|
|||||||
# Remove files
|
# Remove files
|
||||||
for file in "${files_to_remove[@]}"; do
|
for file in "${files_to_remove[@]}"; do
|
||||||
echo -e "${YELLOW}Removing $file ...${RESET}"
|
echo -e "${YELLOW}Removing $file ...${RESET}"
|
||||||
rm -rf "$HOME/$file"
|
if [[ -f "$HOME/$file" ]]; then
|
||||||
|
rm -rf "$HOME/$file"
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user