1、首先,从SVN上检出服务器的文件目录,打开要放置新文件的目录,然后将本地新建的文件复制过去。
2、SVN目录中新增的文件会显示特殊标识,表示这个文件还没有进行登记。
3、使用加入功能将新增的文件进行登记。
4、新增的文件登记后还未上传至SVN服务器,所以包含这个新文件的各层文件夹都会被标识红色感叹号以作提醒。
5、提交新增的文件才能将本地修改上传至SVN服务器,选择任意层的文件夹都可以进行提交。
6、提交时可以对本次修改内容进行描述。
首次需要提供,以后每次执行sync时,需要提供本地svn库的密码(你可以通过在本地保存svn用户和密码避免输入)。第i次执行sync时使用脚本自动定时同步就可以了。处于安全考虑,建立一个本地svn只读用户就可以了。没有特殊要求,你只要能够访问对方的电脑就可以。同一个局域网,一般不会有问题。只要服务器那边不要用防火墙把访问端口屏蔽就可以。
安装tortoisesvn,试一试仓库浏览器,输入地址看看就行了
开发过程中,需要经常将SVN服务器上的代码同步到测试服务器上,一般做法,需要人工手工更新,这样很浪费工夫。下面的脚本为svn server的钩子程序,放在svn服务器上,只要代码更新,就会自动提交的测试服务器上。
使用条件:
1、SVN主机是WIN系统,如果要在LINUX的SVN主机上用,需要修改下面的代码为sh脚本,道理类似,代码不同。有需要的自行更改吧。
2、SVN主机上需要安装完整版的PUTTY安装包,而不是一个EXE
3、测试服务器可以用putty登录
@echo off
setlocal enableDelayedExpansion
rem 本脚本实现将SVN服务器A(win环境)上提交的代码,自动上传(通过pscp)到测试环境的服务器B(linux)上,如果SVN在LINUX环境下,根据本代码自行调整。
rem svn服务器上版本库地址
set reposLoc=%1
set REV=%2
rem ---------------------------------------------------------------------- 配置开始
rem svn服务器上putty的路径
set puttyPath="D:\Program Files (x86)\PuTTY"
rem 测试环境putty登录的用户名
set username=root
rem 测试环境putty登录的密码
set password=password
rem 测试环境IP
set host=10111
rem 测试环境代码根地址
set remoteRootPath=/var/>
rem ---------------------------------------------------------------------- 配置结束
cd /d %puttyPath%
rem 遍历提交了的代码
for /f "tokens=2 delims= " %%i in ('svnlook changed %reposLoc%') do (
set "var=%%i"
svnlook cat !reposLoc! !var! > temptxt
rem 替掉路径中的trunk
set newPath=!var:trunk=!
rem 通过pscp提交到测试服务器
echo y | pscp -l !username! -pw !password! temptxt !host!:!remoteRootPath!!newPath!
)
使用方法:
将上面的代码中配置区的变量修改,并将内容保存成bat文件,命名为post-commitbat,放在SVN服务器上版本库的hooks目录下。提交代码试试看吧。经测试可行。
当然,这个脚本可以再做的牛比点儿,可以针对某个用户的提交做更新,也可以分析SVN提交时的日志,只有当日志中有特定的字符时更新。
另外,由于上面的脚本,只更新当前的提交,所以假设只针对某个用户的提交做更新时,不能只更新当前提交,这样其它用户的提交就落掉了,需要更新整个工程。
你把sdwm-20121207eh换成你的IP地址再试试看,应该能够checkout了但为了避免IP地址改变后导致原来checkout出来的内容无法update、commit,你最好把SVN服务器设置成固定IP
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)