zoukankan      html  css  js  c++  java
  • 批量自动更新SVN版本库

    在Windows环境使用bat批处理来实现自动处理从SVN代码库里update各个项目代码。

    @echo off
    @echo ******************************************************
    @echo =============== 批量自动更新SVN版本库 ===============
    @echo %date% %time%   准备更新SVN版本库
    @echo ******************************************************
    
    ::代码编写思路
    ::获取bat当前的运行目录 %dp0
    ::遍历当前目录,查找包含.svn子文件夹的文件夹
    ::生成命令并调用执行
    
    ::部分参数说明
    ::svn_home 安装TortoiseSVN的目录
    ::work_dir 需要更新的SVN目录路径,路径之间用空格隔开
    ::/closeonend:0 不自动关闭窗口
    ::/closeonend:1 在没有错误的情况下关闭窗口
    ::/closeonend:2 在没有错误和冲突的情况下关闭窗口
    ::/closeonend:3 在没有错误、冲突、合并情况下关闭窗口
    ::dir /ad-s/b 表示只取目录,并且不是系统文件夹,使用空格模式显示
    
    :: 设置本地为延迟扩展。其实也就是:延迟变量,全称延迟环境变量扩展。
    setlocal enabledelayedexpansion
    
    :: 设置svn默认安装位置以及需要调用的应用程序
    set svn_home=D:Program FilesTortoiseSVNin
    set exe_name=TortoiseProc.exe
    set work_dir=D:projectsvn
    
    :: 进入包含多个svn项目的目录
    D:
    cd %work_dir%
    
    @echo =============== 数据处理中 ===============
    
    :: 使用for循环从 dir 获取到字符串中获取文件夹名字
    for /f "delims=" %%i in ('"dir /ad-s/b "') do (
      :: 判断是否是svn文件夹
      if exist "%~dp0%%i.svn" (
        @echo 正在更新项目 %%i
        :: 调用更新命令
        "%svn_home%\%exe_name%" /command:update /path:%%i /notempfile /closeonend:2
      ) else (
        @echo %%i 不存在svn信息
      )
    )
    
    @echo =============== 更新完成 ===============
    
    @pause
    View Code
  • 相关阅读:
    getJson
    mongodb在java中的查询
    Fragment
    android权限
    json输出
    Android Service
    javascript
    android
    Myeclipse启动报错: Invalid 'log4jConfigLocation' parameter
    Android-Activity生命周期
  • 原文地址:https://www.cnblogs.com/cjblogs/p/6782068.html
Copyright © 2011-2022 走看看