提交 09b4923f authored 作者: 陈泽健's avatar 陈泽健

feat(script): 移除旧的包更新检查逻辑

- 删除了 issue_handler.sh 中的 check_and_update_package 函数
- 清理了相关的包更新处理代码
- 为后续重构优化铺平道路
上级 296ae44f
check_and_update_package() {
local package_name="$1"
local target_path="$2"
local package_parent_dir="$3"
local script_dir=$(get_script_dir)
local package_dir=""
log_info "检查更新包: $package_name"
# 优先检查脚本所在目录是否存在对应的目录
if [ -n "$package_parent_dir" ] && [ -d "$script_dir/$package_parent_dir" ]; then
package_dir="$script_dir/$package_parent_dir"
log_info "在脚本目录发现更新包上级目录: $package_dir"
# 检查指定的文件是否存在于该目录中
if [ ! -f "$package_dir/$package_name" ] && [ ! -d "$package_dir/$package_name" ]; then
log_warn "在 $package_dir 目录中未找到 $package_name"
return 1
fi
elif [ -d "$script_dir/$package_name" ]; then
package_dir="$script_dir/$package_name"
log_info "在脚本目录发现更新包: $package_dir"
else
# 如果脚本目录没有,则提示用户输入
echo -n "未在脚本目录找到更新包,请输入新的版本包目录名称: "
read package_dir_input
if [ -n "$package_dir_input" ]; then
# 判断是绝对路径还是相对路径
if [[ "$package_dir_input" == /* ]]; then
package_dir="$package_dir_input"
else
package_dir="$script_dir/$package_dir_input"
fi
fi
fi
# 修正后的逻辑
if [ -n "$package_dir" ] && [ -d "$package_dir" ]; then
log_info "找到更新包目录: $package_dir"
# 检查目录下是否有文件
if [ -n "$(ls -A "$package_dir")" ]; then
if confirm_action "确认更新 $package_name$target_path?"; then
# 检查目标路径是否存在
if [ -e "$target_path" ]; then
# 创建备份目录,按照PRD文档中的格式
local timestamp=$(date +%Y%m%d%H%M%S)
local backup_path="$(dirname "$target_path")/backup-$timestamp"
mkdir -p "$backup_path"
# 根据PRD文档示例,直接移动整个文件
if [ -f "$target_path" ]; then
# 如果目标路径是文件,则备份该文件
mv "$target_path" "$backup_path/"
log_info "已备份原文件到: $backup_path"
else
# 如果目标路径是目录,则备份整个目录
if [ -d "$target_path" ]; then
mv "$target_path" "$backup_path/"
log_info "已备份原目录到: $backup_path"
fi
fi
else
# 目标路径不存在,确保父目录存在
mkdir -p "$(dirname "$target_path")"
fi
# 正确处理目录更新
if [ -d "$package_dir/$package_name" ]; then
# 如果是目录,复制整个目录
rm -rf "$target_path"
cp -r "$package_dir/$package_name" "$target_path"
log_info "成功更新目录 $package_name 到: $target_path"
else
# 如果是文件,直接复制
mkdir -p "$(dirname "$target_path")"
cp "$package_dir/$package_name" "$target_path"
log_info "成功更新文件 $package_name 到: $target_path"
fi
log_info "成功更新 $package_name: $target_path"
else
log_info "取消更新 $package_name"
fi
else
log_warn "更新包目录为空: $package_dir"
return 1
fi
else
log_warn "未找到有效的更新包目录: $package_dir"
return 1
fi
}
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论