@echo off & title 根据列表list.txt自动svn转化git setlocal enabledelayedexpansion set "SVN_HOST=http://127.0.0.1:8080" set "GIT_HOST=http://192.168.50.184:3000" goto :main :FUNC_SVN2GIT set "svn_name=%1" set "git_name=%2" if not exist %svn_name% ( echo 1.从svn下载本地 echo 初始化svn:%svn_name% call subgit configure %SVN_HOST%/svn/%svn_name% %svn_name% echo 配置svn:%svn_name% if not exist %svn_name%\subgit\config.bak ( copy /y %svn_name%\subgit\config %svn_name%\subgit\config.bak ) ::copy /y common_config\config %svn_name%\subgit\config cd tools\ sed -i "s/ trunk = trunk:/ trunk = :/g" "..\%svn_name%\subgit\config" sed -i "s/ branches = branches/ #branches = branches/g" "..\%svn_name%\subgit\config" sed -i "s/ tags = tags/ #tags = tags/g" "..\%svn_name%\subgit\config" sed -i "s/ shelves = shelves/ #shelves = shelves/g" "..\%svn_name%\subgit\config" cd .. ) echo 下载svn:%svn_name% call subgit install %svn_name% echo 2.从本地push到git git上建立%svn_name% call git clone .\%svn_name% %svn_name%.git cd %svn_name%.git ::创建一个新的仓库 if not exist .git ( echo .>README.md call git init call git add README.md call git commit -m "首次推送" ) call git remote set-url origin "%GIT_HOST%/kinve/%git_name%.git" call git push origin master cd .. exit /b ::其他 ::git push origin remotes/origin/feature:refs/heads/feature ::git push origin remotes/origin/bugfix:refs/heads/bugfix ::git push origin remotes/origin/develop:refs/heads/develop ::git push --tags :main for /f "tokens=1,2 delims=|" %%i in (list.txt) do ( echo "执行工程:%%i %%j" call:FUNC_SVN2GIT %%i %%j )