Fedora 12 SVN安装及配置心得

来源:互联网 发布:淘宝话费充值店2016 编辑:程序博客网 时间:2024/05/17 05:59

 

一、安装subversion

yum install subversion

 

二、安装apache的svn 模块

yum install mod_dav_svn

 

三、建立svn仓库文件

mkdir /svn

 

四、建立SVN库并修改/svn用户组和用户 

svnadmin create /svn/repos/

chown -R apache.apache /svn

 

五、编辑/svn/repos/conf/svnserve.conf

vim /svn/repos/conf/svnserve.conf

1、修改anon-access和auth-access

#anon-access = read

#auth-access = write

改为

anon-access = none

auth-access = write

2、修改password-db

#password-db = passwd

改为

password-db = passwd

3、修改authz-db

#authz-db = authz

改为

authz-db = authz

 

六、增加用户密码,并设置访问权限

1、vim /svn/repos/conf/passwd

如[users]

#user = password

svnuser = svnuser

test = test

 

2、vim /svn/repos/conf/authz

追加下记文字

[/]

svnuser = rw

[/]

test = r

 

七、重启服务器

svnserve --daemon --root=/svn --listen-port=3690

 

八、svn import,建立project svnProject

mkdir /tmp/svnProject

mkdir /svn/repos/svnProject

svn import /tmp/svnProject file:///svn/repos/svnProject -m "initial import"

 

八、访问服务器

例如内网IP:192.168.1.226

svn://192.168.1.226/repos/svnProject

test项目的地址

http://192.168.1.226/svnProject 

 

 

说明:上述我们并没有启动httpd服务,如果是需要通过web方式访问SVN服务器,我们就需要配置apache服务器。

配置方法如下:

1、安装apache服务器

2、设置apache的svn配置文件

vim /etc/httpd/conf.d/subversion.conf

 

<Location /repos>

DAV svn

   SVNParentPath /svn

#

#   # Limit write permission to list of valid users.

#   <LimitExcept GET PROPFIND OPTIONS REPORT>d

#      # Require SSL connection for password protection.

#      # SSLRequireSSL

#

#      AuthType Basic

#      AuthName "Authorization Realm"

#      AuthUserFile /path/to/passwdfile

#      Require valid-user

#   </LimitExcept>

</Location>

把对应的#号去掉,并修改路径,改为如上的。

 

vim /etc/httpd/conf/httpd.conf

<Directory "/var/www/html">

DocumentRoot "/var/www/html"

 

3、svn checkout

svn checkout svn://127.0.0.1/repos /var/www/html

 

4、svn update

把每次提交的文件都和/var/www/html同步,那样,就可以直接访问了

信件一个post-commit文件

cp post-commit.tmpl post-commit

vi /svn/repos/hooks/post-commit

写入以下内容:

#!/bin/sh

export LANG=en_US.UTF-8

svn update /var/www/html --username svnuser --password svnuser

svn update /var/www/html --username test --password test

并且,把这个文件改为777 首先,先在 服务 器 端/var/www/html checkout以后,每次更新就能够向/var/www/html添加了

chmod 777 post-commit

chown apache.apache post-commit

 

使用心得:

1、svn pe svn:ignore "*.o.cmd"提示

svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no 'editor-cmd' run-time configuration option was found

解决办法:在~/.bashrc中设置“export SVN_EDITOR=vim”

说明:此方法设置忽略属性未成功。

 

2、修改~/.subversion/config属性[miscellany]

### Section for configuring miscelleneous Subversion options.

[miscellany]

### Set global-ignores to a set of whitespace-delimited globs

### which Subversion will ignore in its 'status' output, and

### while importing or adding files and directories.

### '*' matches leading dots, e.g. '*.rej' matches '.foo.rej'.

global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo

*.ko *.cmd *.d .tmp* #[行首为tab分隔符]

# *.rej *~ #*# .#* .*.swp .DS_Store

 

3、svn status可看到本地文件和仓库文件的区别(可以看到*.o.cmd已经被忽略!)

?       System.map?       vmlinux?       kernel/bounds.s?       kernel/timeconst.hM       .config.oldM       .version?       lib/crc32table.h?       lib/gen_crc32table?       arch/arm/boot/Image?       arch/arm/boot/zImage?       arch/arm/boot/compressed/vmlinux.lds?       arch/arm/boot/compressed/piggy.gz?       arch/arm/boot/compressed/vmlinux?       arch/arm/kernel/asm-offsets.s?       arch/arm/kernel/vmlinux.ldsM       .config?       include/asm-arm/mach-types.h?       include/asm-arm/asm-offsets.h?       include/linux/bounds.h?       include/linux/compile.hM       include/linux/autoconf.hM       include/linux/utsrelease.hM       include/config/kernel.releaseM       include/config/auto.conf?       usr/gen_init_cpio?       usr/initramfs_data.cpio?       drivers/video/logo/logo_mac_clut224.c?       drivers/video/logo/logo_linux_mono.c?       drivers/video/logo/logo_blackfin_clut224.c?       drivers/video/logo/logo_parisc_clut224.c?       drivers/video/logo/logo_sgi_clut224.c?       drivers/video/logo/logo_m32r_clut224.c?       drivers/video/logo/logo_blackfin_vga16.c?       drivers/video/logo/logo_linux_clut224.c?       drivers/video/logo/logo_sun_clut224.c?       drivers/video/logo/logo_superh_clut224.c?       drivers/video/logo/clut_vga16.c?       drivers/video/logo/logo_superh_mono.c?       drivers/video/logo/logo_linux_vga16.c?       drivers/video/logo/logo_spe_clut224.c?       drivers/video/logo/logo_superh_vga16.c?       drivers/video/logo/logo_dec_clut224.c?       drivers/char/defkeymap.c?       drivers/char/consolemap_deftbl.c