svn 批处理

svn 批处理

@echo off
setlocal enabledelayedexpansion

:: 记录脚本本身的文件名(不带路径)
set "self=%~nx0"

echo ---------------------------------------------
echo SVN 强制同步脚本 - 保证本地与远程一致
echo 所有本地修改、未受控文件将被清除!
echo ---------------------------------------------

:: 暂存状态文件
set tempFile=__temp_svn_status.txt
svn status > "%tempFile%"

:: 删除未受版本控制的文件和文件夹
echo.
echo 正在删除未受控文件...
for /f "tokens=1,* delims= " %%a in (%tempFile%) do (
    if "%%a"=="?" (
        set "filepath=%%b"
        set "filename=%%~nxb"

        :: 判断是否为当前脚本
        if /i "!filename!" NEQ "!self!" if /i "!filename!" NEQ "%tempFile%" (
            echo 删除未受控文件:!filepath!
            if exist "!filepath!" (
                del /f /q "!filepath!" 2>nul
                rmdir /s /q "!filepath!" 2>nul
            )
        )
    )
)

:: 清理冲突文件和锁
echo.
echo 正在还原本地所有改动并解决冲突(包括冲突文件 C)...
svn revert -R .

:: 清理所有本地临时文件(如 lock)
svn cleanup

:: 强制更新到远程最新
echo.
echo 正在更新到远程仓库最新版本...
svn update --accept theirs-full

:: 删除临时文件
del "%tempFile%"

echo.
echo 本地仓库已完全同步为远程版本
pause

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值