SVN版本库的导出

下面的Windows命令解释器脚本实现了“导出本机svn版本库中MyProjName项目指定版本范围内的可移植版本库。并自动用项目名、起始版本号和终止版本号命名导出的dump文件。”

将下列文件正文内容复制到一个新建的cmd/bat文件中即可。

 

文件正文

@ECHO    ********************************************************************
@ECHO    ***                                                              ***
@ECHO    ***  脚本功能:                                                  ***
@ECHO    ***    导出MyProjName项目指定版本范围内的可移植版本库。          ***
@ECHO    ***                                                              ***
@ECHO    ***  版本:                                                      ***
@ECHO    ***    DumpSvn version 0.9c                                      ***
@ECHO    ***                                                              ***
@ECHO    ***  版权:                                                      ***
@ECHO    ***    本脚本采用GNU GPL版权协议分发。                           ***
@ECHO    ***                                                              ***
@ECHO    ***  说明:                                                      ***
@ECHO    ***    本脚本最初作为MyProjName项目的软件维护工具开发。          ***
@ECHO    ***    本脚本作为示例,稍加修改可用于其他类似用途                ***
@ECHO    ***                                                              ***
@ECHO    ***  作者:svnLight                                              ***
@ECHO    ***  E-Mail:   dxnb007@yahoo.com.cn                              ***
@ECHO    ***                                                              ***
@ECHO    ***  创建日期:2008年06月23日                                    ***
@ECHO    ***    初始版本0.9                                               ***
@ECHO    ***                                                              ***
@ECHO    ***  修订历史:                                                  ***
@ECHO    ***                                                              ***
@ECHO    ***    0.9c)                                                     ***
@ECHO    ***      1. 提示最新的版本号。                                   ***
@ECHO    ***                                                              ***
@ECHO    ***    0.9b)                                                     ***
@ECHO    ***      1. 当起始版本号大于终止版本号,颠倒版本号顺序。         ***
@ECHO    ***                                                              ***
@ECHO    ***    0.9a)                                                     ***
@ECHO    ***      1. 识别版本号为0的情况。                                ***
@ECHO    ***      2. 限制起始版本号不大于终止版本号。                     ***
@ECHO    ***                                                              ***
@ECHO    ***    0.9)                                                      ***
@ECHO    ***      1. 自动识别起始版本号和终止版本号是否为空。             ***
@ECHO    ***      2. 自动识别起始版本号和终止版本号是否为数字。           ***
@ECHO    ***      3. 用法错误自动提示。                                   ***
@ECHO    ***                                                              ***
@ECHO    ********************************************************************
@ECHO OFF && setlocal
:: 指定svn版本库的绝对路径
@set SVNDIR=E:/ROOT/SVN-ROOT/MyProjName/
@ECHO 欢迎使用svn dump版本库移植工具。
@for /F %%I in ('svnlook youngest %SVNDIR%') do @set /A revs_last=%%I
@ECHO Current Revision: %revs_last%
:: 需要两个命令行参数。
@if "" == "%2" goto Usage
@if "" == "%1" goto Usage
::
:: 任何一个命令行参数不是数值,则提示错误。
@set /A revs_start=%1
@set V1=%1
@if %revs_start% EQU 0 @if not "%V1:~0,1%"=="0" goto Usage
@set /A revs_end=%2
@set V2=%2
@if %revs_end% EQU 0 @if not "%V2:~0,1%"=="0" goto Usage
::
:: 如果起始版本号大于终止版本号则颠倒顺序。
@if %revs_start% GTR %revs_end% goto SwapOrder
@set NewDumpFile="./MyProjName.%1_%2.dump"
@if exist %NewDumpFile% del %NewDumpFile%
@svnadmin dump %SVNDIR% -r %1:%2 --incremental > %NewDumpFile%
@ECHO 生成svn dump文件%NewDumpFile%。
@goto ExitEntry
:SwapOrder
@set NewDumpFile="./MyProjName.%2_%1.dump"
@if exist %NewDumpFile% del %NewDumpFile%
@svnadmin dump %SVNDIR% -r %2:%1 --incremental > %NewDumpFile%
@ECHO 生成svn dump文件%NewDumpFile%。
@goto ExitEntry
::
:: 提示用法。
:Usage
@ECHO Usage:
@ECHO  %0 起始版本号 终止版本号
@ECHO  %0 rev-start rev-end
@ECHO Example:
@ECHO  %0 100 234
@ECHO .
::
:ExitEntry
@endlocal

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值