svn版本迁移

svn版本迁移,第1张

1 把仓库从A直接拷贝到B
2 启动B上的svn服务
如果你A上的仓库的目录结构是这样:
D:\SVNREP\prj1
D:\SVNREP\prj2
那么到B上也照此办理。
上网搜一下svn的服务器,162版的,安装——只要有svnserveexe的版本就行
打开一个dos窗口,运行
sc create svnserve binPath= "\"C:\Program Files\Subversion\bin\svnserveexe\" --service --root D:\SVNREP" displayname="Subversion service" depend=Tcpip start=auto
然后你就可以用
svn://localhost or your ip/prj1
来访问你的仓库

开发过程中,需要经常将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提交时的日志,只有当日志中有特定的字符时更新。

另外,由于上面的脚本,只更新当前的提交,所以假设只针对某个用户的提交做更新时,不能只更新当前提交,这样其它用户的提交就落掉了,需要更新整个工程。

一、安装 SVN服务器程序
11运行 VisualSVN-Server-172msi

12选择程序安装目录 和 SVN仓库目录

我程序装在 C:\Program Files\VisualSVN Server , SVN仓库目录在 D:\SVN
13 安装完成,立即运行

二、服务器配置
21服务器维护界面

22仓库目录默认的内容

23创建新项目wapzucom

23创建用户ve

24设置项目的用户权限

Properties Security Add 选择刚创建的用户 ve ok 应用 确认

三、创建测试服务器目录 D:\>你说的是用tortoiseSVN客户端提交到svn服务器的意思吧? 如果你之前没checkout 你想把文件提交 那就用import导入到你想传输svn服务器的路径,如果说你已经checkout过svn服务器上的文件了 你做了修改或者增加了一些文件 那就直接add+commit就可以了(先add)

1、首先,从SVN上检出服务器的文件目录,打开要放置新文件的目录,然后将本地新建的文件复制过去。

2、SVN目录中新增的文件会显示特殊标识,表示这个文件还没有进行登记。

3、使用加入功能将新增的文件进行登记。

4、新增的文件登记后还未上传至SVN服务器,所以包含这个新文件的各层文件夹都会被标识红色感叹号以作提醒。

5、提交新增的文件才能将本地修改上传至SVN服务器,选择任意层的文件夹都可以进行提交。

6、提交时可以对本次修改内容进行描述。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13416218.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-01
下一篇 2023-08-01

发表评论

登录后才能评论

评论列表(0条)

保存