一直都在园子里看文章,因为各种原因懒得写文章。最近稍得空闲,把这几天的工作成果分享一下。

因为工作需要,开发人员使用Qt进行系统移动端的开发,Qt的版本控制却不提供连接TFS的设置,只有使用svn。没有办法,只有安装svn,现学现了解,最后发现可以通过svn的hooks实现提交后,svn服务端自动同步到tfs服务端。post-commit脚本如下:

ET    WORKDIR=D:\xxxx
SET SVNDIR= C:\Program Files\VisualSVN Server\bin
SET SVNEXPORTDIR=D:\scm\slpt\trunk\source REM 转到SVN安装目录
cd /d c:\
cd %SVNDIR%
del D:\scm\slpt\trunk\source /s /q
rd D:\scm\slpt\trunk\source /s /q
svn export --force http://localhost:8082/svn/slpt/ D:\scm\slpt\trunk\source --username 用户名 --password 密码
cd /d d:\
cd %WORKDIR%
tf workspaces /owner:tfs-server\administrator /computer:tfs-server /collection:http://tfs服务器地址
tf get $/项目名称/开发库/.源代码/Source/SLPTMobile/TravelPlatformMobile /all /overwrite /force /noprompt /recursive /login:用户名,密码
del D:\\项目名称\开发库\.源代码\Source\SLPTMobile\TravelPlatformMobile\ /s /q
rd D:\\项目名称\开发库\.源代码\Source\SLPTMobile\TravelPlatformMobile\ /s /q
mkdir TravelPlatformMobile
xcopy D:\scm\slpt\trunk\source\trunk\TravelPlatformMobile D:\\项目名称\开发库\.源代码\Source\SLPTMobile\TravelPlatformMobile /e /r /y /s
Rem 转到工作空间
cd /d d:\
cd %WORKDIR%
tfpt online D:\\项目名称\开发库\.源代码\Source\SLPTMobile\TravelPlatformMobile /deletes /diff /adds /recursive /noprompt /login:用户名,密码
tf resolve /auto:KeepYours /recursive /noprompt /login:用户名,密码
tf checkin $/项目名称/开发库/.源代码/Source/SLPTMobile/TravelPlatformMobile /recursive /comment:"SVN自动同步到TFS配置库" /login:用户名,密码

新鲜出炉还没有优化,有需要的各位可以自己根据脚本慢慢去了解,更有帮助,如有问题,请留言!

SVN与TFS自动同步脚本(很实用)的更多相关文章

  1. TFS 自动同步Server 端文件的批处理命令

    TFS 自动同步Server 端文件的批处理命令 目前在我们组的工作中很多时候需要将TFS上Server端的代码自动无人值守的同步到本地中来, 找到了一些解决方案的资料http://bbs.scmro ...

  2. SVN+post-commit 搭建自动同步版本库

    一.需求. 本地文件上传到测试环境svn,测试环境同步到生产环境rsync.开发环境与测试环境与生产环境分离. 二.搭建SVN服务器. yum -y install subversion && ...

  3. svn服务器配置以及自动同步到web服务器

    感觉再不用svn就真的老了. 安装 yum install subversion 新建repo mkdir -p /opt/svn/myrepo svnadmin create /opt/svn/my ...

  4. CentOS下安装配置SVN服务器并自动同步到web目录

    一.安装 yum install subversion测试是否安装成功 /usr/bin/svnserve --version如提示以下内容,说明已安装成功 svnserve,版本 1.6.11 (r ...

  5. 配置hooks使svn提交后自动同步客户端代码(客户端与服务端在同一台机器上)

    1.配置svn的hooks 2.实例演示 1.配置svn的hooks 1.1)配置情况 承接上篇svn搭建的文章,今次继续使用上篇文章的配置 上篇文章的地址:linux下搭建svn代码库 svn仓库所 ...

  6. Linux下svn提交文件后自动同步更新到网站目录

    有时,对于多文件需要上传到服务器的时候将会很麻烦,但是如果使用svn的钩子脚本就容易实现本地提交svn后,自动同步代码文件到远程服务器的网站目录下,而不必手动上传了. 首先,在网站目录下checkou ...

  7. Rsync+inotify自动同步数据

    一.简介 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足. 首先,rsync在同步数据时,需要扫描所有文件后进行比对,进行差量传 ...

  8. svn版本库更新后自动同步到www

    注意:www目录一定要用SVN服务器 checkout出Repositories的代码 步骤: (1)新建www根目录 mkdir -p /data/www/lehuo (2)在www根目录下检出(c ...

  9. CentOS 创建SVN 服务器,并且自动同步到WEB 目录

    CentOS 创建SVN 服务器,并且自动同步到WEB 目录 标签: centossvnsubversion服务器 2013-12-06 10:09 5492人阅读 评论(0) 收藏 举报  分类: ...

随机推荐

  1. linux初级学习笔记三:linux操作系统及常用命令,及如何复制和移动文件!(视频序号:02_4)

    本节学习的命令:cp,mv,install,du,read 本节学习的技能:文件的移动与复制 cp( copy):复制和移动文件 cp SRC DEST -r:递归复制一个目录及其目录中的所有文件 - ...

  2. 一步一步学Silverlight 2系列(31):图形图像综合实例—实现水中倒影效果

    概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...

  3. c语言中为什么左移不分符号数无符号数,而右移分呢??

    因为在C语言标准中,只规定了无符号数的移位操作是采用逻辑移位(即左移.右移都是使用的逻辑左移和逻辑右移).而对于有符号数,其左移操作还是逻辑左移,但右移操作是采用逻辑右移还是算术右移就取决于机器了!( ...

  4. mysql 5.5升级到5.7版本操作流程

    一.备份原来 phpStudy 中 MySQL 安装目录 二.把下载的 MySQL 压缩文件解压至 phpStudy 下的 MySQL目录,复制 my-default.ini ,重命名为 my.ini ...

  5. emacs环境配置

    Cscope: 首先官网上下载cscope的源码包,解压进入,按照INSTALL的说明: ./configure make make install 但是在make时报如下错误:fatal error ...

  6. web 基本概念辨异 —— URI 与 URL

    两者的相同点: 都是唯一的,对资源(R:Resource)起到唯一的标识作用: 两者的不同点: URL 是 URI 的子集(URI 是父类,URL 是子类),是一种特定的实现形式: URI 可以是身份 ...

  7. SPOJ_705_New Distinct Substrings_后缀数组

    SPOJ_705_New Distinct Substrings_后缀数组 题意: 给定一个字符串,求该字符串含有的本质不同的子串数量. 后缀数组的一个小应用. 考虑每个后缀的贡献,如果不要求本质不同 ...

  8. [shell test] multiple conditions

      Classic technique (escape metacharacters): if[ \( $g -eq 1-a "$c"="123" \) -o ...

  9. NIO知识摘录

    在 JDK 1. 4 中 新 加入 了 NIO( New Input/ Output) 类, 引入了一种基于通道和缓冲区的 I/O 方式,它可以使用 Native 函数库直接分配堆外内存,然后通过一个 ...

  10. return break contiune

    return 会直接跳出当前作用域,继续执行下面的方法:在js中for循环没有局部作用域的概念,所以如果是多级循环会直接跳出所有的循环: demo for(var i=0; i<10; i++) ...