remove old functions
This commit is contained in:
parent
1cbc0b0e71
commit
18b60c9692
1 changed files with 0 additions and 108 deletions
108
.zshrc
108
.zshrc
|
@ -168,114 +168,6 @@ function writepatch() {
|
||||||
nvim b/$fname
|
nvim b/$fname
|
||||||
diff -Naru --color='auto' a/$fname b/$fname
|
diff -Naru --color='auto' a/$fname b/$fname
|
||||||
}
|
}
|
||||||
backup() {
|
|
||||||
local compress=0
|
|
||||||
local src=""
|
|
||||||
|
|
||||||
# Parse options
|
|
||||||
while getopts "z" opt; do
|
|
||||||
case $opt in
|
|
||||||
z) compress=1 ;;
|
|
||||||
*) echo "Usage: backup [-z] file_or_dir"; return 1 ;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
shift $((OPTIND-1))
|
|
||||||
|
|
||||||
# Get source file/dir after option processing
|
|
||||||
src="$1"
|
|
||||||
if [ -z "$src" ]; then
|
|
||||||
echo "Error: no source specified"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check if source exists
|
|
||||||
if [ ! -e "$src" ]; then
|
|
||||||
echo "Error: $src does not exist"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Create backup based on type and options
|
|
||||||
if [ $compress -eq 1 ]; then
|
|
||||||
tar -I zstd -cf "${src}.tar.zstd" "$src"
|
|
||||||
elif [ -d "$src" ]; then
|
|
||||||
cp -r "$src" "${src}.bak.d"
|
|
||||||
else
|
|
||||||
cp "$src" "${src}.bak"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
restore() {
|
|
||||||
local remove=0
|
|
||||||
|
|
||||||
# Parse options
|
|
||||||
while getopts "r" opt; do
|
|
||||||
case $opt in
|
|
||||||
r) remove=1 ;;
|
|
||||||
*) echo "Usage: restore [-r] backup_file"; return 1 ;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
shift $((OPTIND-1))
|
|
||||||
|
|
||||||
# Check if argument was provided
|
|
||||||
local src="$1"
|
|
||||||
if [ -z "$src" ]; then
|
|
||||||
echo "Error: no backup file specified"
|
|
||||||
echo "Usage: restore [-r] backup_file"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check if source exists
|
|
||||||
if [ ! -e "$src" ]; then
|
|
||||||
echo "Error: $src does not exist"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Function to handle overwrite confirmation
|
|
||||||
confirm_overwrite() {
|
|
||||||
echo -n "$1 already exists. Overwrite? [y/N] "
|
|
||||||
read answer
|
|
||||||
[[ $answer =~ ^[Yy] ]]
|
|
||||||
return $?
|
|
||||||
}
|
|
||||||
|
|
||||||
# Determine backup type and restore accordingly
|
|
||||||
if [[ "$src" == *.tar.zstd ]]; then
|
|
||||||
local dest="${src%.tar.zstd}"
|
|
||||||
if [ -e "$dest" ]; then
|
|
||||||
if ! confirm_overwrite "$dest"; then
|
|
||||||
echo "Restore cancelled"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
rm -rf "$dest"
|
|
||||||
fi
|
|
||||||
tar -I zstd -xf "$src"
|
|
||||||
[ $remove -eq 1 ] && rm "$src"
|
|
||||||
elif [[ "$src" == *.bak.d ]]; then
|
|
||||||
local dest="${src%.bak.d}"
|
|
||||||
if [ -e "$dest" ]; then
|
|
||||||
if ! confirm_overwrite "$dest"; then
|
|
||||||
echo "Restore cancelled"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
rm -rf "$dest"
|
|
||||||
fi
|
|
||||||
cp -r "$src" "$dest"
|
|
||||||
[ $remove -eq 1 ] && rm -rf "$src"
|
|
||||||
elif [[ "$src" == *.bak ]]; then
|
|
||||||
local dest="${src%.bak}"
|
|
||||||
if [ -e "$dest" ]; then
|
|
||||||
if ! confirm_overwrite "$dest"; then
|
|
||||||
echo "Restore cancelled"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
rm -f "$dest"
|
|
||||||
fi
|
|
||||||
cp "$src" "$dest"
|
|
||||||
[ $remove -eq 1 ] && rm "$src"
|
|
||||||
else
|
|
||||||
echo "Error: $src is not a recognized backup format"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
### ---- zsh options -------------------------------------
|
### ---- zsh options -------------------------------------
|
||||||
|
|
Loading…
Add table
Reference in a new issue