SVN命令补充

1.更新svn仓库不打印信息
svn update -q
2.更新svn仓库到指定版本
svn update -r{}
-r [–revision] ARG : ARG (一些命令也接受ARG1:ARG2范围)
版本参数可以是如下之一:
NUMBER 版本号
‘{‘ DATE ‘}’ 在指定时间以后的版本
‘HEAD’ 版本库中的最新版本
‘BASE’ 工作副本的基线版本
‘COMMITTED’ 最后提交或基线之前
‘PREV’ COMMITTED的前一版本

3.获取最新版本信息,并输出XML格式
svn info {SVN路径} –xml
4.获取提交历史并输出xml格式
svn log -xml -l 30查看最新30条记录
5.获取版本提交记录之间文件
svn diff -r6:2 –summarize
6.svn字母标示
A:add,新增
C:conflict,冲突
D:delete,删除
M:modify,本地已经修改
G:modify and merGed,本地文件修改并且和服务器的进行合并
U:update,从服务器更新
R:replace,从服务器替换
I:ignored,忽略

svn钩子用法

要点:需要post-commit具有执行权限

chmod +x ./post-commit

需要将svn的目录给www-data

chown -R www-data:www-data ./test

重要的一点!!!

www-data根目录要写入的权限!

等钩子写好了。先用执行一次

备注:钩子内容

#!/bin/bash
svn update /var/www/test

nginx+apache+mysql+svn

说明:nginx用80,apache用8080,这样可以使用apache的模块

提示:svn: 版本库永久移到 “http://svn.phpfs.com/”;请重新定位。

解决办法:去掉apache中documentroot配置

提出来完整配置:

nginx主机配置(将svn.phpfs.com全部转发给apache)

server {
listen 80;
server_name svn.phpfs.com;
root /varw/www/html/svn;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://svn.phpfs.com:8080;
}
}

apache的配置是这样的

NameVirtualHost 192.168.1.128:8080#这个当然不是我主机的ip了~嘿嘿
<VirtualHost 192.168.1.128:8080>
ServerName svn.phpfs.com
#DocumentRoot /var/www/html/svn,这个会导致提示,svn转移啥的~千万不要带
<Directory /var/www/html/svn>
order allow,deny
allow from all
</Directory>
</VirtualHost>

配置svn使用mysql认证

<Location /test>
DAV svn
SVNPath /var/www/html/svn/test        #svn的真实路径
Authtype Basic
AuthName “svn.phpfs.com”
AuthMYSQLEnable on                         #开启mysql认证
AuthMYSQLHost localhost                  #mysql服务器地址
AuthMYSQLPort 3306                        #mysql服务器端口
AuthMYSQLUser svn                         #登录数据库服务器的用户名
AuthMYSQLPassword test                 #密码
AuthMYSQLDB svn                            #数据库名字
AuthMYSQLUserTable user               #表名字
AuthMYSQLNameField username    #帐号字段名
AuthMYSQLPasswordField password   #认证密码字段名
AuthMYSQLPwEncryption md5
Require valid-user
</Location>