svn 添加路径

以例子来说明:

一步步安装phpmyadmin(安装到web根目录里)

先在web根目录里创建路径 ,用于存放程序

mkdir phpmyadmin

这里我是在/root/里下载好phpMyAdmin-3.4.3.2-all-languages.tar.gz

解压后复制到 /web/phpmyadmin/里面

tar vxzf phpMyAdmin-3.4.3.2-all-languages.tar.gz
cp -Rf /root/phpMyAdmin-3.4.3.2-all-languages/* /web/phpmyadmin/

加入到当前svn,提交此版本到库里

svn add * --no-ignore --force
svn ci -m "add path phpmyadmin"

🙂 EOT

ubuntu11.10上安装rabbitvcs

现在在ubuntu下有用svn的需求,那么google了以后

发现rabbitvcs,于是在源里面搜了一下

root@xx# apt-cache search rabbitvcs
rabbitvcs-cli – Command line interface for RabbitVCS
rabbitvcs-core – Easy version control
rabbitvcs-gedit – Gedit extension for RabbitVCS
rabbitvcs-nautilus – Nautilus extension for RabbitVCS

下面开始安装

apt-get install rabbitvcs-cli rabbitvcs-core rabbitvcs-gedit rabbitvcs-nautilus

Reading package lists… Done
Building dependency tree
Reading state information… Done
将会安装下列额外的软件包:
gir1.2-nautilus-3.0 global ipython libapr1 libaprutil1 libsvn1 meld python-configobj python-foolscap python-nautilus python-svn python-wxgtk2.8
python-wxversion subversion
建议安装的软件包:
doxygen apache httpd id-utils python-matplotlib python-numpy python-qt3 python-qt4 python-svn-dbg wx2.8-doc wx2.8-examples python-wxtools ruby wish
tk8.5 tcsh csh octave3.0 mksh pdksh python-xml editra subversion-tools db4.8-util
下列【新】软件包将被安装:
gir1.2-nautilus-3.0 global ipython libapr1 libaprutil1 libsvn1 meld python-configobj python-foolscap python-nautilus python-svn python-wxgtk2.8
python-wxversion rabbitvcs-cli rabbitvcs-core rabbitvcs-gedit rabbitvcs-nautilus subversion
升级了 0 个软件包,新安装了 18 个软件包,要卸载 0 个软件包,有 23 个软件包未被升级。
需要下载 19.9 MB 的软件包。
解压缩后会消耗掉 79.4 MB 的额外空间。

在教学区网速很快,一会儿就安好了

下载 19.9 MB,耗时 52s (375 kB/s)

然后就是

 

debian svn的commit邮件提醒

最基础简单的配置

设置全部在/var/svnroot/工程/hooks/里面进行

如我的是/var/svnroot/nginxsub/hooks/

准备好三个文件

mailer.conf //邮件设置文件
post-commit
mailer.py

其中post-commit mailer.py是可执行文件,依据经验,必然主要改mailer.conf 即可

三个文件得到的方式

cp /usr/share/subversion/hook-scripts/mailer/mailer.conf.example /var/svnroot/nginxsub/hooks/mailer.conf
yes | cp post-commit.tmpl post-commit
cp /usr/share/subversion/hook-scripts/mailer/mailer.py /var/svnroot/nginxsub/hooks

好,先修改一下post-commit 确定好mailer.py 和 mailer.conf的位置

"$REPOS"/hooks/mailer.py commit "$REPOS" $REV "$REPOS"/hooks/mailer.conf

修改mailer.conf

因为debian自带exim4为MTA 则在21 行处

mail_command = /usr/sbin/exim4

在174行处收件人地址

to_addr =XXX@example.com

此时更改过版本将会第一时间发到你的邮箱里

当然还有好多高级用法,下次学习实践了再更新

debian svn | svn的安装使用 | nginx版本库

本文主要是进行nginx的一个web程序版本控制

1、安装Subversion

apt-get install subversion-tools subversion

2、建立存储仓库

sudo mkdir /var/svnroot
cd /var/svnroot

生成一个叫”nginxsub”的项目

sudo svnadmin create nginxsub

在nginxsub这个库下面的conf文件夹里有三个配置文件

authz-----权限文件
passwd------用户和密码
svnserve.conf-----此project的配置文件

详细设置svnserve.conf:

sudo vim /var/svnroot/nginxsub/conf/svnserve.conf
anon-access = read
auth-access = write
password-db = passwd

anon-access和 auth-access 分别指定匿名和有权限用户的权限,默认给匿名用户只读的权限,如果想拒绝匿名用户的访问,只需把 read 改成none 就能达到目的。记得只除去注释的话,要把单词顶格写,不要留下空格。
password-db 后的 passwd 则为定义用户名及密码的文件路径,这个文件默认跟 snvserve.conf在同一个目录。

修改passwd文件,添加用户名=密码对,如:user = imyy

sudo vim /var/svnroot/nginxsub/conf/passwd

修改authz文件,特别说明修改不顺检出时会出现Authorization failed,主要涉及:
1.用户和组的授权,这个里面用户和组和系统里的没有一毛钱关系
2.对库的整个目录的授权和对子目录的授权,

示例写的很清楚:

# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe

# [/foo/bar]
# harry = rw
# &joe = r
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r

这样我们可简单写为

[/]
xx00 =rw

这些更改都是即时生效
3、导入版本库
把 /web 下的内容导入到版本号中:

sudo svn import -m "第一次导入" /web file:///var/svnroot/nginxsub

4、启动服务器
svn 服务器可以用两种方法架设:
使用 svn 自带的 svnserve 实用程序和利用 Apache 架设。
1)使用 svnserve 搭建 svn 服务器。
启动svn服务器:(服务器积极拒绝的时候,一般是这个问题)

sudo /usr/bin/svnserve -d -r /var/svnroot/

测试服务器:

sudo svn checkout svn://219.230.144.219/nginxsub
A inlocals/index.html
A inlocals/index.php
取出版本 1。

修改index.html,提交修改:

svn commit  --username ARG      --password ARG
正在发送 index.html
传输文件数据 .
提交后的版本为 2。

可以尝试重命名文件:

svn rename index.php test.php

新增一个文件:

svn add index.php

移动 index.php 到 blog/app 下:

svn move index.php blog/app

注意:
我提交时提示
svn: 不能打开文件“/var/www/inlocals/.svn/lock”: Permission denied
此处是权限问题,执行

sudo chmod -Rf 777 /var/svnroot/inlocals/

可以顺利提交,但是为了安全起见,可以为svn专门建立一个用户组。