标签 svn 下的文章

[总结]Svn本地忽略功能

总是有人问, 写成blog好了, 谁问法给谁.

svn批量提交时, 不提交某些文件, 这个需要用到svn的changelist命令(Gui下可以每次手动勾选不提交...), 原理是把改动的文件放到非默认changlist, svn每次提交默认起到忽略的作用:

> svn changelist 'Local ignore' config/config.inc.php
> svn status
--- Changelist 'Local ignore':
M       config/config.inc.php

注: Local ignore是可以随便输入的, 等于给列表起一个名字, 同时changelist可以简写成cl.

[总结]svn更换新仓库地址, 以及UUID不同的解决方式

shell 命令:

svn relocate svn://svn_old svn://svn_new

一般会提示:

svn: E195009: The repository at 'svn://svn_old' has uuid
'bdbd6e13-965c-4da7-a4da-d4840425081e', but the WC has
'9dcab4f9-d1ff-49d9-8b8d-a11efef133c1'

uuid是仓库创建的时候生成的, 本地客户端也会拿它来对比是否是同一个svn仓库, 解决方法有两种:
1: 重新checkout
文件太多, 我受不了

2: 修改本地uuid

sqlite3 .svn/wc.db
sqlite> select * from REPOSITORY; #一般是只有一条记录, 修改后会有两条
sqlite> update REPOSITORY set uuid="bdbd6e13-965c-4da7-a4da-d4840425081e" where id=1;
sqlite> .exit

svn update即可

[记录]SVN允许修改日志

linux下:
进入svn/hooks目录, 把pre-revprop-change.tmpl复制一份名为pre-revprop-change

cp /data/svn/hooks/pre-revprop-change{.tmpl,} #我的svn放在/data/svn下面
chmod +x /data/svn/hooks/pre-revprop-change

windows同理

linux下nginx+svn

因为没有什么可以定制的, 所以svn直接使用系统自带的包管理软件安装, 以centos系列为例, 命令如下:

yum install subversion

然后是nginx的安装:

mkdir -p /opt/soft
groupadd web
useradd http -g web -s /sbin/nologin
cd /opt/soft
wget http://sourceforge.net/projects/pcre/files/pcre/8.12/pcre-8.12.tar.gz
wget http://www.openssl.org/source/openssl-1.0.0d.tar.gz
tar zxvf pcre-8.12.tar.gz
tar zxvf openssl-1.0.0d.tar.gz
tar zxvf nginx-0.8.54.tar.gz
cd nginx-0.8.54
./configure --prefix=/opt/nginx --user=http --group=web --with-http_stub_status_module --with-http_ssl_module --with-md5=/usr/lib/ --with-pcre=/opt/soft/pcre-8.12 --with-openssl=/opt/soft/openssl-1.0.0d
make
make install

- 阅读剩余部分 -