SVN凌乱知识点

来源:互联网 发布:软件测试基础知识大全 编辑:程序博客网 时间:2024/05/19 11:46

svn基本配置操作方法

--创建库

1.首先安装svn服务器,并且将其bin目录配置到path下。配置完毕后,通过cmd,输入svn,看是否配置成功。

2.在一个磁盘上创建一个目录,用于存储。如:d:\mysvn\code.

3.使用命令:svnadmin create d:\mysvn\code来初始化目录(创建仓库)。

--importcheck in

4.如果要将客户端的某个目录import到服务器端,那么需要首先开启服务端。

命令:svnserve d r d:\mysvn\code。该命令含义为让SVN将此目录作为仓库,并侦听客户端的请求。

其中-d的作用为后台模式,而-r的作用为指定服务器的仓库路径。

5.进入到客户端需要到import的目录d:\test.使用另外一个cmd框,使用命令:svn import svn://localhost;

其中svn://localhost表示的是SVN服务器的ip地址,这里就表示是我的本机地址。另外SVN实现了自己独有的协议

SVN协议,所以我们可以看到url形式是svn://localhost这样的,这个命令的作用就是将当前目录以及其所有子目录

和文件import到服务器上去,纳入SVN的管辖范围中。

6.该命令要求我们指定好一个记录日志的文件或者在系统环境变量中增加一个SVN_EDITOR的变量.该变量的值我们就

取为系统自带的记事本就可以了。方法同前述查看path环境变量一样.

7.修改svn的认证权限。返回到svn仓库,即:d:\mysvn\code目录。进入conf中,对svnserve.conf文件进行编辑。

找到该文件的“anon-access = read”内容,这表示客户端匿名是不能够阅读的。现在我们将其前面的“#”去掉,表示

匿名者可以阅读了。然后再在下面添加“anon-access = write”,表示匿名者可以读写了。

8.svn mkdir svn://localhost/project2表示在服务器端建立虚拟目录。客户端就可以把内容上传到这个虚拟目录

:svn import svn://localhost/project2

--exportcheck out

9.进入到需要下载的目录中,使用:svn checkout svn://localhost/project2命令来下载文件。

10.提交文件:svn commit test2.txt或者svn commit test2.txtF c:\log.txt

11.清除解锁命令:svn cleanup

12.更新命令:svn update test2.txt。因为更新并不对服务器上的代码进行修改,所以无需指定日志内容。

svn高级操作

--svn的验证机制

1.进入到仓库d:\mysvn\codeconf目录下,打开svnserve.conf文件(该文件就是一个设定svn认证信息的重要文件)

2.如果要使用验证用户登陆的话,首先需要将"anon-access = readanon-access = write"注释掉,表示不能够匿名登陆。

3.将“password-db = passwd”前面的“#”去掉。该语句表示:用户的用户名与密码信息放置在同目录下的passwd文件中。

passwd文件和svnserver.conf文件在同一目录。同时可以指定其他文件。

4.passwd文件用来存储用户信息。编辑该文件来增加用户信息。

注意:在一次登录后,SVN会将我们的登录信息保存起来存放在硬盘上的文件中,

其存放位置为:C:\Documents and Settings\[你的登录系统用户名] \Application Data\Subversion

如果想要删除该信息,只需要将该目录中的auth文件夹删除即可。

5.svnserve.conf增加"anon-access = none"表示匿名用户既没有读也没有写的权限。

6.svn中如果删除了某个文件的话,只有你指定了恢复到某个版本时,这个文件才能够恢复过来。而cvs的文件删除后,

再重新checkout的时候,仍旧可以得到,这是很危险的。

svn整合apache基本操作

1.开启动SVN服务、apache服务

同时分别将各自的bin配置到系统的path下。

2.SVN创建仓库

svnadmin create D:/svn/lims

3.svn下的bin中的mod_authz_svn.somod_dav_svn.so两个文件,选择拷贝到apachemodules

4.修改httpd.conf文件,这个文件是Apache的配置文件,是在conf目录下。

打开:

#LoadModule dav_module modules/mod_dav.so

#LoadModule dav_fs_module modules/mod_dav_fs.so。去掉前面的“#”号。

在最后增加

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so这两行。

5.解压後的SVN目录下bin文件夹(对应本例即为 C:\Subversion

Server\bin)下的libdb44.dlllibeay32.dllssleay32.dllApache安装目录下的bin文件夹

6.apacheconfhttpd.conf文件最后添加:

<Location /mysvn>

  DAV svn

  SVNPath D:/mysvn/code

</Location>

该语句块的作用是将svn的服务器目录映射到访问Apache的虚拟路径mysvn,就好象我们在配置 Tomcat时,增加一个Context一样。

即用户访问/svn地址时,Apache会自动将该请求转到d:\mysvn\code目录下。

Apache设置权限访问

1.apacheconfhttpd.conf文件最后添加

<Location /mysvn>

  DAV svn

  SVNParentPath D:/mysvn/code

  AuthType Basic

  AuthName "Subversion repositories"

  AuthUserFile D:/svnpassword/passwd(只能够用绝对路径)

  AuthzSVNAccessFile E:/passwd/policy //认证策略

  Require valid-user

</Location>

如果apache是使用的是SVNParentPath的话,那么只能够在这些子目录中建立项目。其他用户也不能够访问。

a. AuthType 表示验证类型,这里我们采用 BASIC即基本方式,也是最常用的验证方式。

b.AuthName 表示出现登录对话框时,窗口的标题名。

c.AuthUserFile 表示用户登录信息的存放文件,这里我们将该文件保存为

E:/passwd/passwords,目前该文件还不存在,不过不要着急,我们稍后就会创建该文件。

d.Require valid-user 表示只有认证的用户才能访问,否则匿名用户也可以访问。

2.apache创建密码

 进入到bin目录,用cmd执行htpasswd命令(D:/svnpassword/passwd文件必须先创建,否则会报错):

a.htpasswd -c D:/svnpassword/passwd zhansanMD5加密)

b.htpasswd -p D:/auth/passwd lx(不加密)

SVN整合apache高级操作

1.默认情况下,一个仓库下可以管理多个项目。因此可以将SVNPath修改成SVNParentPath. SVNParentPath指的是仓库的根目录,也就是所有项目的根路径,那么在我们这里SVNParentPath就应该是d:/mysvn/code,然后我们可以将自己的项目分别建立在这里目录之下的不同子目录中,而不必都建在这个根目录之下,这对后面即将讲到的分级权限认证也有很大帮助。

2.httpd.conf中的<Location>中添加“<LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept>”表示:这表示对于匿名用户可以读,但是只对认证用户开放写操作

3.定权限策略(是在apacheconfhttpd.conf的最后添加,这些信息是放到policy中的)

 

AuthzSVNAccessFile E:/passwd/policy //认证策略的信息

(分组)

[groups]

developers=admin

[ims:/]

@developers=rw

(指定个人)

[svn\lims:/]

admin=rw

4.备份

a.直接将仓库进行copy备份。

b.svnadmin hotcopy E:\svn\repository E:\backup

5.本地svn会保留在C:\Documents and Settings\用户名\Application Data\Subversion

中,所以直接auth目录删掉就可以了。

Eclipsesvn中文问题

Eclipseconfiguration文件下找到config.ini文件,用写字板打开,在最后面添加上如下代码即可:

1. 下面配置是设置SVN插件为英文菜单:

 

显示代码打印

# Set Subversion English Version  

osgi.nl=en_US

2. 下面配置是摄自SVN插件为中文菜单:

显示代码打印

 # Set Subversion English Version   

 osgi.nl=zh_CN

原创粉丝点击