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 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即可
]]>去掉一个文件的bom头:
sed -i 's/^\xEF\xBB\xBF//g' a.txt
扫描当前目录有bom的文件:
grep -r -I -l $'^\xEF\xBB\xBF' ./
去掉当前目录下所有文件的bom:
grep -r -I -l $'^\xEF\xBB\xBF' ./ | xargs sed -i 's/^\xEF\xBB\xBF//g'
写到svn的hook脚本里即可, 不要问我怎么写哦, 百度吧.
]]>cp /data/svn/hooks/pre-revprop-change{.tmpl,} #我的svn放在/data/svn下面
chmod +x /data/svn/hooks/pre-revprop-change
windows同理
]]>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
]]>