@echo off
chcp 65001
setlocal EnableDelayedExpansion
cd /d %~dp0

net.exe session 1>NUL 2>NUL && (
    goto as_admin
) || (
    goto not_admin
)

:as_admin
set versionPath=%cd%
cd ..
set rootPath=%cd%

::读取项目配置
set appName="xxxxx"
set file99=%rootPath%\config.txt
if exist %file99% (
    for /f "tokens=*" %%a in (%file99%) do (
	    set var=%%a
    
	    if "!var:~0,16!"=="applicationName:" (
	    	set appName=!var:~16,-1!!var:~-1,1!
	    )
    )
    set appName=!appName!
)

::检查是否主干项目
if not exist %rootPath%\%appName%.master (
    echo 当前不是主干，不能建立分支,请先建立 %rootPath%\%appName%.master
    goto end
)

::读取版本配置文件
cd /d %versionPath%
if not exist version.txt echo 1.0.0.20000101>version.txt
set configVersion=version.txt
for /f "tokens=1,2,3 delims=." %%a IN (%configVersion%)  Do (
     set tag1=%%a
     set tag2=%%b
     set tag3=%%c
)
set oldVersion=!tag1!.!tag2!.!tag3!
set /a tag3=1+!tag3!
set newVersion=!tag1!.!tag2!.!tag3!
set branchName=branch.v%newVersion%
git checkout -b %branchName%
del /s /q %rootPath%\%appName%.master
del /s /q %rootPath%\%appName%.branch.*
echo .>%rootPath%\%appName%.branch.v%newVersion%

set productname=%newVersion%.%d:~2,2%%d:~5,2%%d:~8,2%%t:~0,2%%t:~3,2%%t:~6,2%
echo 新版本:%productname%
echo %productname%>%versionPath%\version.txt
del /s /q %versionPath%\*.panda
del /s /q %rootPath%\*.panda

cd /d %rootPath%
git add .
git commit -m "创建分支 %appName%.branch.v%newVersion%"

git push origin %branchName%

echo 执行成功，生成 %appName%.branch.v%newVersion%
goto end

:not_admin
echo not as admin

:end
ping 127.0.0.1 -n 10 >nul
exit

