From a10af2148b0ae0ed1224580a580ce5916e022f2f Mon Sep 17 00:00:00 2001 From: Foldcc_b1 Date: Thu, 13 Mar 2025 18:21:32 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=80=E5=8C=96Upm.bat=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=EF=BC=8C=E7=A7=BB=E9=99=A4=E5=86=97=E4=BD=99=E7=9A=84=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E5=A4=84=E7=90=86=E5=92=8C=E7=A1=AE=E8=AE=A4=E6=AD=A5?= =?UTF-8?q?=E9=AA=A4=EF=BC=8C=E4=BC=98=E5=8C=96=E5=88=86=E6=94=AF=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E5=92=8C=E6=A0=87=E7=AD=BE=E6=8E=A8=E9=80=81=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=EF=BC=8C=E7=A1=AE=E4=BF=9D=E6=88=90=E5=8A=9F=E5=88=9B?= =?UTF-8?q?=E5=BB=BAUPM=E5=88=86=E6=94=AF=E5=92=8C=E6=A0=87=E7=AD=BE?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Update Upm.bat | 136 ++++++++++--------------------------------------- 1 file changed, 28 insertions(+), 108 deletions(-) diff --git a/Update Upm.bat b/Update Upm.bat index 18af797..2244359 100644 --- a/Update Upm.bat +++ b/Update Upm.bat @@ -1,124 +1,44 @@ @echo off -:: Set UTF-8 encoding chcp 65001 -:: Set window title -title UPM Package Update Tool -:: Set console color color a -echo 开始提交到git upm.... -echo 提交upm前请确保当前分支所有改动都已经提交! +echo Starting UPM package update... +echo Please make sure all changes are committed! -:: Extract version from package.json +:: Get version from package.json for /f "tokens=2 delims=:, " %%i in ('findstr "version" Assets\package.json') do ( set version=%%i ) -:: Remove quotes set version=%version:"=% -echo 从package.json中读取的版本号为:%version% +echo. +echo Current version: %version% +echo. +set /p confirm=Confirm to create UPM branch and tag %version% (y/n): -:: Check if tag exists -git tag | findstr "%version%" > nul -if %errorlevel% equ 0 ( - echo 错误:版本号 %version% 对应的tag已存在! - pause - exit +if /i not "%confirm%"=="y" ( + echo Operation cancelled. + goto :END ) -set /p Flg=确认提交的版本号%version%,是否开始提交(y/n) -------- : +:: Clean and prepare +git checkout -f master +git branch -D upm 2>nul -IF "%Flg%" equ "y" ( - echo 开始提交,请勿关闭该窗口! - - :: Force switch to master first and ensure clean state - echo 切换到master分支并清理工作区... - git checkout -f master - git reset --hard HEAD - git clean -fd - - :: Verify Assets folder exists - if not exist "Assets" ( - echo 错误:Assets文件夹不存在! - goto :END - ) - - :: Delete local upm branch if exists - echo 清理本地upm分支... - git branch -D upm 2>nul - - :: Create new upm branch from current Assets folder with verbose output - echo 正在创建upm分支... - git subtree split --prefix Assets --branch upm --verbose - if %errorlevel% neq 0 ( - echo 错误:创建upm分支失败! - echo 正在尝试修复... - - :: Try to fix common issues - git gc - git prune - - :: Second attempt - echo 第二次尝试创建upm分支... - git subtree split --prefix Assets --branch upm --verbose - if %errorlevel% neq 0 ( - echo 错误:创建upm分支失败,请确保: - echo 1. Assets文件夹存在且不为空 - echo 2. 当前分支没有未提交的更改 - echo 3. Git仓库状态正常 - goto :END - ) - ) - - :: Force update local upm branch with remote changes - echo 更新远程upm分支... - git fetch origin upm - git checkout -f upm - git reset --hard origin/upm - - :: Create new subtree split - git checkout -f master - git subtree split --prefix Assets --branch upm-temp - - :: Apply new changes and force push - git checkout -f upm - git merge upm-temp --allow-unrelated-histories -X theirs - git branch -D upm-temp - - :: Create and push tag with explicit steps - echo 创建并推送tag %version%... - git tag -d %version% 2>nul - git tag %version% upm - if %errorlevel% neq 0 ( - echo 错误:创建tag失败! - git checkout -f master - goto :END - ) - - :: Push changes and tags separately - echo 推送upm分支... - git push -f origin upm - if %errorlevel% neq 0 ( - echo 错误:推送upm分支失败! - git checkout -f master - goto :END - ) - - echo 推送tag... - git push origin %version% - if %errorlevel% neq 0 ( - echo 错误:推送tag失败! - git tag -d %version% - git checkout -f master - goto :END - ) - - :: Return to master branch - git checkout -f master - echo 所有操作已完成! -) +:: Create and push upm branch +git subtree split --prefix Assets --branch upm +git push -f origin upm + +:: Create and push tag +git tag -d %version% 2>nul +git tag %version% upm +git push origin %version% + +:: Return to master +git checkout -f master + +echo. +echo Successfully created UPM branch and tag %version% :END -echo 执行完成! -pause -exit \ No newline at end of file +pause \ No newline at end of file