导航:首页 > 文件教程 > svn配置教程

svn配置教程

发布时间:2023-03-07 22:57:11

『壹』 svn自动同步配置

打开: /svn/web/ysc/hooks ,找到 post-commit.tmpl, 修改内容为下:

然后将文件更名为 post-commit ,没有 tmpl 后缀,重要事情说三遍;

另外务必授予 777 权限,不然也有可能跑不起来;

权限:chmod 777 post-commit

#!/bin/bash

REPOS="$1"

REV="$2"

export LANG=zh_CN.UTF-8

echo "Code Deployed at `date "+%Y-%m-%d %H:%M"`" >> /svn/web/ershop/hooks/deploy_log

/usr/bin/svn update --accept tf --username admin --password admin123 /www/web/ershop

chown -R www:www /www/web/ershop

chmod -R 777 /www/web/ershop

最后在liunx把项目先检出:

svn co svn://localhost/项目名称/

有时候检出可能会报 svn co出现svn: E170001: Authorization failed此类错误  如果遇到可在root根目录找到.subversion/auth目录里面的全部文件删除,再重新检出即可 建议不要用root账号登陆

『贰』 svn如何使用

svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,

本文是使用Subversion最快速的教程,在最短的时间里帮助您建立起一套可用的服务器环境,只需略加调整就可以应用到实际项目当中。
本教程分为以下几个部分,为了说明简单,教程是在windows下使用的方式,以方便资源有限的项目使用。在UNIX环境下,只是安装方式不同,命令执行并无太大区别。

工具/原料
Subversion服务器程序安装包

Subversion的Windows客户端TortoiseSVN安装包

方法/步骤
1软件下载

<1>、下载Subversion服务器程序

到官方网站的下载二进制安装文件,来到二进制包下载部分,找到 Windows NT, 2000, XP and 2003部分,然后选择Apache 2.0 或者 Apache 2.2,这样我们可以看到许多下载的内容,目前可以下载Setup-Subversion-1.7.12.msi 。

<2>、下载Subversion的Windows客户端TortoiseSVN。

TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。
官方网站是TortoiseSVN ,下载方式和前面的svn服务器类似,在Download页面的我们可以选择下载的版本,目前的最高稳定版本的安装文件为TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi。

2svn服务器和客户端安装

<1>、安装Subversion,直接运行Setup-Subversion-1.5.3.msi ,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。

<2>、安装TortoiseSVN,同样直接运行TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。

<3>、安装svn的客户端程序,需要的话还可以安装svn的语言包,注意语言包的版本也必须与客户端程序的版本一致

3建立版本库(Repository)

运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:

svnadmin create E:\svndemo\repository

就会在目录E:\svndemo\repository下创建一个版本库。

我们也可以使用TortoiseSVN图形化的完成这一步:
在目录E:\svndemo\repository下"右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。

步骤阅读 .4SVN配置用户和权限

来到E:\svndemo\repository\conf目录,修改svnserve.conf:

# [general]
# password-db = passwd
改为:
[general]
password-db = passwd

然后修改同目录的passwd文件,去掉下面三行的注释:
# [users]
# harry = harryssecret
# sally = sallyssecret
最后变成:
[users]
harry = harryssecret
sally = sallyssecret

在passwd文件中,“=”前的字符就是用户名,后面的就是密码。还要注意“[users]”前面的注释“#”一定要删除掉。

步骤阅读 .5运行独立服务器

在任意目录下运行:
svnserve -d -r E:\svndemo\repository 我们的服务器程序就已经启动了。注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。

6初始化导入

来到我们想要导入的项目根目录,在这个例子里是E:\svndemo\initproject,目录下有一个readme.txt文件:

右键->TortoiseSVN->Import...
在URL of repository输入“svn://localhost/trunk”
在Import Message中输入你的日志信息

完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。

需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行。例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是“svn://133.96.121.22/trunk”。

步骤阅读 .7基本客户端操作

取出版本库到一个工作拷贝:

来到任意空目录下,在本例中是E:\svndemo\wc1,运行右键->Checkout,在URL of repository中输入svn://localhost/trunk,这样我们就得到了一份工作拷贝。

在工作拷贝中作出修改并提交:

打开readme.txt,作出修改,然后右键->Commit...,这样我们就把修改提交到了版本库,我们可以运行。

察看所作的修改:

readme.txt上右键->TortoiseSVN->Show Log,这样我们就可以看到我们对这个文件所有的提交。在版本1上右键->Compare with working ,我们可以比较工作拷贝的文件和版本1的区别。

最后,所有的内容都已经录制为动画文件,大家可以参考。

关于本教程大家有什么意见,可以这里讨论 。

如果更新文件以后,有两个人或者多个人同时修改了某个文件的某个位置,是否冲突,(一般不会这样子,因为上传的版本是可以编译通过的,而且每个人负责自己的模块,不会多人独立修改同一个文件,别人也是先更新,后上传修改,,,,)

开发者习惯性动作。早上上班第一件事就是更新svn版本库,再开始一天的工作。

晚上下班,或者其他时候要上传东西可以直接上传因为你负责的东西没人去修改。

冲突是怎么产生的呢:因为不同的人,同时修改了同一个文件的同一个地方,这个时候,他提交了,你没有提交,你就提交不了,这个时候,你要先更新,更新就会出现代码冲突问题。最好不要多人同时修改一个文件,公用的文件,更改之前要和大家沟通一下,或者解决冲突 呵呵

先更新,没有冲突,再提交。有冲突,解决冲突再提交。否则也提交不了。

对于一些处于冲突状态下的文件 ,右键TortoiseSVN ->Resolved,解决冲突。解决冲突: http://www.blogjava.net/jasmine214--love/archive/2011/04/07/347769.html

更新-解决冲突-删掉以下三个文件-提交(如果自己没有修改的文件有冲突,删除再更新即可,自己修改的文件解决冲突)

test.php.mine 是冲突前自己的文件

test.php.版本号 是冲突前本地的版本文件

test.php.服务器的版本号 是冲突后服务器版本文件

END注意事项
如果修改文件后提交不了,大多是因为版本不一致造成的。更新一下,不产生冲突的情况,就可以提交了。

更新文件,如果出现冲突的情况,打开冲突文件test.php会看到类似以下的内容

<<<<<<<<<<<<<<<
asdfadfadfadf
11111111111111
=======
asdfadfadfadf
111111111111111
222222222222
>>>>>>>>>>>>>>>>

结合别人修改的内容和自己修改的内容,然后把文件中的<<<<<,=====,>>>>>>>这类冲突符号去掉。去掉后,还是不能提交的,为什么?因为冲突时会产生三个文件,有这三个文件存在肯定提交不了。

客户端用的tortoisesvn(这个估计程序员用的最多),冲突时会多产生,三个文件

test.php.mine 是冲突前自己的文件

test.php.版本号 是冲突前本地的版本文件

test.php.服务器的版本号 是冲突后服务器版本文件

提交的时候,把这三个文件删除掉就可以提交了。

产生覆盖的原因。

a),在修改冲突文件test.php时,把别人代码都删除掉了,只留下了自己的代码。这样就会产生覆盖了。

b),把test.php.mine中的内容直接到test.php文件,这样也会产生代码覆盖。

上面二种情况都是我亲眼看到新手这样操作的,要避免这二种操作方法。

『叁』 如何设置 SVN

(一)安装
Windows环境下面分了CollabNet / Tigris.org(Apache2.2和Apache2.0) / SlikSVN / VisualSVN 5个链接,我选的是Tigris Apache2.2,下载一个目前最新的Setup-Subversion-1.6.6.msi,点击,一路安装即可,很简单。

开始菜单-》运行-》输入Cmd回车,敲“svn --version --quiet”,会得到SVN的版本号。

(二)配置
1、创建repository
Rrepository是存储数据的地方。
例如要在F:\svnroot下创建repository,就使用命令行svnadmin create f:\svnroot。如果执行正确的话,会在F盘下多一个SVNROOT的目录,目录下有4个目录和2个文件。

2、启动SVN服务
使用命令行 svnserve -d -r f:/svnroot,这样外部就可以它能够过客户端来访问了。
我运行完才发现,这样cmd窗口还不得不一直开着,很难看,当然一般大公司的代码服务器是24小时开着的。

上网搜了一下,也可以作为一个服务自动启动的。执行脚本 sc create svn binpath= "\"d:\Program Files\Subversion\bin\svnserve.exe\" --service -r\"f:/svnroot\"" displayname= "Subversion Server" depend= Tcpip start= auto 就可以将svnserve程序作为服务载入。安装路径和存储数据的目录要根据自己的情况修改。

执行完这个脚本,可以去管理工具-》控制面板-》服务那里找找Subversion Server,如果没启动就启动

3、基本设置
修改f:|svnroot\repos\conf\svnserve.conf,注释很详细。
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository
[sasl]
# use-sasl = true
# min-encryption = 0
# max-encryption = 256

期中,anon-access = none表示要用户名和密码,password-db = passwd表示passwd是存身份验证的用户名和密码。sasl,就是加密访问用的,一般也可以不用。

4、用户管理
在f:|svnroot\repos\conf\passwd里添加有权限的用户名和密码。例如添加用户yobin,密码123456,就这样:
[users]
# harry = harryssecret
yobin = 123456
hh = 111
ss = 222

5、分组管理和权限设置
如果是所有文件对用户都可见的话,上面几步也足够用了。但要想对一些人可见,一些人不可见的话,就要去修改authz文件了。

&别名:别名的引用
@用户组名:某组用户
$authenticated:所有已授权用户
$anonymous:匿名用户
* : 任何人

r:写权限
rw:读写权限
:不能访问(空,什么都不写)

设置用户权限的时候,'='左侧代表用户名称,可以是实际用户名,也可以是定义的用户组名,也可以是别名,但要用'@'作为前缀,或者是所有用户'*'。'='右侧代表设置的权限'r'、'rw'或者为空即代表用户对于该目录无任何权限。

authz文件中对版本库路径的表示方法。用'[/]'来表示版本库的根目录,如果有子目录foo,设置该目录权限时用'[/foo]'即可,其他任何目录都以'/'为版本根目录进行表示。注意了,别用”\“!!!

用户某个目录的权限是向子目录递归的。如果用户对于/foo目录有读写权限,则该用户对于foo目录下的所有子目录都有读写权限。如果不设置最上层的目录没有设置权限,那么就相当于不设置,禁止访问。
权限分配,只可以分配到某个目录,而不能到某个文件。

『肆』 怎么配置SVNWebClient给个详细说明好不

房主您好 介于您的问题 基于专业回答~ 所以请看完后 做出正确评价 5颗星 谢谢您的合作!CC专用 杜绝复制!步骤如下: 1、下载WebClient for SVN,下载地址为: http://www.polarion.org/index.php 为了正确的处理中文问题,最好下载中文修订版,地址为: http://legendry.cnblogs.com/archive/2006/06/17/428424.html 2、安装TomCat,略。 3、下载EnScript,地址为: http://gnuwin32.sourceforge.net/packages/enscript.htm ,下载bin文件。 4、部署SVNWebClient,第一次配置成功以后退出Tomcat,删除war包。 5、修改配置如下: 设置EnscriptPath,在"%PROJECT_ROOT%/WEB-INF/web.xml"中修改如下设置 EnscriptPath c:\Program Files\GnuWin32\bin\enscript.exe %PROJECT_ROOT%为SVNWebClient所在目录 设置RepositoryUrl,在同一文件中寻找即可,也可以按照需要修改其它设置 6、在Tomcat的server.xml,增加如下修改 (只需要增加URIEncoding="UTF-8") 以支持中文路径寻址。 7、Subversion之SVNWebClient中多版本库的设置 添加 ParentRepositoryDirectory 参数: ParentRepositoryDirectory http://localhost/svn/ 注: 1. " http://localhost/svn/"是Subversion的版本库的父目录路径; 2. param-value 值要用"/"结束,即要形如" http://localhost/svn/",而不是" http://localhost/svn"。否则在SVNWebClient登陆时,在Repository name一项,直接输入版本库名称,是会出错的。 8、SVN Web Client的优点很多,但是必须输入版本库名称以及用户名和密码登录,MS并不支持匿名登录。不能像直接用URL那样访问方便。

阅读全文

与svn配置教程相关的资料

热点内容
网络中常用的传输介质 浏览:518
文件如何使用 浏览:322
同步推密码找回 浏览:865
乐高怎么才能用电脑编程序 浏览:65
本机qq文件为什么找不到 浏览:264
安卓qq空间免升级 浏览:490
linux如何删除模块驱动程序 浏览:193
at89c51c程序 浏览:329
怎么创建word大纲文件 浏览:622
袅袅朗诵文件生成器 浏览:626
1054件文件是多少gb 浏览:371
高州禁养区内能养猪多少头的文件 浏览:927
win8ico文件 浏览:949
仁和数控怎么编程 浏览:381
项目文件夹图片 浏览:87
怎么在东芝电视安装app 浏览:954
plc显示数字怎么编程 浏览:439
如何辨别假网站 浏览:711
宽带用别人的账号密码 浏览:556
新app如何占有市场 浏览:42

友情链接