Subversion(一般简称SVN, http://subversion.tigris.org/),号称是CVS后的下一代版本控制系统。它跟Apache的webdav很好的集成,可以使用http协议绕过防火墙,同时Subclipse(http://subclipse.tigris.org/)提供了eclipse插件,有着跟CVS的eclipse插件极其类似的视图和操作方式。
在Redhat Enterprise Linux Advanced Server 4以后的平台上,SVN是包含在安装包内的。但是RHEL 3和以前的版本则没有包括SVN。Debian是支持SVN的,其他Linux发行版我就不太清楚了,因为我只在RHEL3上边试过 :( 。直接在RHEL3上面无法编译出用于Apache2的module,这似乎是Redhat在编译完Apache2后删除了一些“非安全”文件的缘故(?)。不过你可以直接下载一个Apache2(http://httpd.apache.org),用如下参数编译、安装:
$ ./buildconf
$ ./configure --enable-dav --enable-so --enable-maintainer-mode
$ make && make install
然后在编译SVN时用这个参数:./configure --with-apxs=/usr/local/apache2/bin/apxs
最后把/usr/local/apache2/modules/里边的mod_authz_svn.so和mod_dav_svn.so拷贝到RHEL3内建的http2的modules目录中去(/etc/httpd/modules),就可以让内建的httpd服务支持SVN了,当然你得照着安装文档配置一下/etc/httpd/httpd.conf文件才行。
SVN的INSTALL文档没有说明在设置用户授权检查时passwd文件怎么弄,而且它自己生成在repository下面 conf/passwd 文件其实也是不正确的。你可以用apache的htpasswd工具来生成自己的passwd文件。
可以把SVN作为一个xinetd服务随系统启动,照着/etc/xinetd.d/目录下其他服务描述文件写一个就完了。
Subclipse似乎是从eclipse对CVS的插件上改写的,在进度条部分好像有缺陷,不过也可能是因为我是把它用在了IBM Rational Software Development Platform(RSDP)上的缘故?
SVN有windows版本,安装是直接有installer,只是我懒得试了。
星期三, 六月 29, 2005
星期二, 六月 28, 2005
做一个用日期命名的定期备份脚本
我给团队里配置了一个CVS服务器,虽然CVS本身记录了工作的历史,但是它的物理存储安全还是需要考虑。于是利用Linux的cron功能作了一个备份用的脚本
把它加入到/etc/cron.daily目录里边就可以定期运行了,还可以加上自动上传到备份服务器的脚本的,懒得弄了。这里有几个要点:
1. date的输出 ―― 利用了date命令的format输出,date | date +%d -d - 中第一个date得到当前机器时间,把它作为参数通过管道传递给第二个date命令,第二个date的-d选项读入参数,使用%d格式化。具体format选项,可以man date或date --help。
2. 脚本中获得命令输出 ―― 应该使用 ` (键盘上1前面那个quote键)而不是 ' (单引号)把命令行括起来。
3. test命令来检查文件属性。
4. shell的判断语句。:)
|
把它加入到/etc/cron.daily目录里边就可以定期运行了,还可以加上自动上传到备份服务器的脚本的,懒得弄了。这里有几个要点:
1. date的输出 ―― 利用了date命令的format输出,date | date +%d -d - 中第一个date得到当前机器时间,把它作为参数通过管道传递给第二个date命令,第二个date的-d选项读入参数,使用%d格式化。具体format选项,可以man date或date --help。
2. 脚本中获得命令输出 ―― 应该使用 ` (键盘上1前面那个quote键)而不是 ' (单引号)把命令行括起来。
3. test命令来检查文件属性。
4. shell的判断语句。:)
订阅:
博文 (Atom)