File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3434
3535 - name : 准备环境
3636 run : |
37- mkdir -p source_repo
37+ mkdir -p source_repo patches
3838 echo "准备完成"
3939
4040 - name : 克隆源仓库
7171 fi
7272
7373 # 创建输出目录
74- OUTPUT_DIR="../patches"
74+ OUTPUT_DIR="../../ patches"
7575 mkdir -p "$OUTPUT_DIR"
7676 PATCH_COUNT=0
7777
@@ -83,30 +83,42 @@ jobs:
8383 echo "已生成单个补丁文件: combined.patch"
8484 else
8585 echo "正在生成多个补丁文件..."
86- # 仅在需要时获取更多历史
86+ # 检查是否需要获取更多历史
8787 if ! git merge-base --is-ancestor "$START_HASH" "$END_HASH" 2>/dev/null; then
8888 echo "提交范围不在当前克隆深度内,获取更多历史..."
89- git fetch --unshallow || git fetch -- depth=1000
89+ git fetch --depth=1000
9090 fi
9191 git format-patch "$START_HASH..$END_HASH" -o "$OUTPUT_DIR" --quiet
9292 PATCH_COUNT=$(ls -1 "$OUTPUT_DIR"/*.patch 2>/dev/null | wc -l)
9393 echo "已生成 $PATCH_COUNT 个补丁文件"
9494 fi
9595
9696 # 设置输出变量
97- echo "patch_dir=$OUTPUT_DIR " >> $GITHUB_OUTPUT
97+ echo "patch_dir=../patches " >> $GITHUB_OUTPUT
9898 echo "patch_count=$PATCH_COUNT" >> $GITHUB_OUTPUT
9999 echo "patch_type=${{ github.event.inputs.patch_type }}" >> $GITHUB_OUTPUT
100100
101101 - name : 创建时间戳命名的 ZIP 文件
102102 id : create_zip
103103 run : |
104+ # 检查补丁目录是否存在
105+ if [ ! -d "patches" ]; then
106+ echo "::error::补丁目录不存在,请检查生成步骤"
107+ exit 1
108+ fi
109+
110+ # 检查是否有补丁文件
111+ if [ -z "$(ls -A patches)" ]; then
112+ echo "::error::补丁目录为空,没有生成补丁文件"
113+ exit 1
114+ fi
115+
104116 # 生成时间戳(年月日_时分秒)
105117 TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
106118 ZIP_NAME="patch_$TIMESTAMP.zip"
107119
108120 # 创建 ZIP 文件
109- cd ${{ steps.generate.outputs.patch_dir }}
121+ cd patches
110122 zip -r "../$ZIP_NAME" .
111123 cd ..
112124
You can’t perform that action at this time.
0 commit comments