• 目录结构什么的仅适用于我们部门,放这里备个忘。

    svn+bugzilla配置
    1.用户和组
    (1)因为svn和bugzilla已配置成共用一个MySql数据库进行用户管理,所以在bugzilla建用户即可
    (2)设置用户在bugzilla的组属性
    (3)设置用户在svn中的组和权限:/etc/opt/CollabNet_Subversion/conf/svn_access_file
    2.新建一个工程
    (1)创建SVN Repositories(新建工程仓库)
    进入目录/opt/repositories
    svnadmin create prj_name
    (2)创建之后的目录需要修改用户和权限。
    chown -R csvn:csvn
    (3)新建tags,trunk,branches
    svn mkdir http://localhost/svn/prj_name/tags –m ""
    svn mkdir http://localhost/svn/prj_name/trunk –m ""
    svn mkdir http://localhost/svn/prj_name/branches –m ""
    当然,在客户端创建也可以。
    3.关联bugzilla
    脚本:scmbug_install_glue.pl --scm=Subversion --bug=<id> --binary-paths=/opt/CollabNet_Subversion/bin,usr/bin --product=prj_name --repository=file:///opt/repositories/prj_name --daemon=127.0.0.1
    4.其它配置
    工程所在目录下 hooks/etc/scmbug/glue.conf
    其中,minimum_log_message_size中记录了commit时comment的最小长度。

    ------------红伟的bugzilla/subversion/scmbug安装日志分割线------------
    centos 5.3 上安装bugzilla/subversion/scmbug步骤

    软件版本,Centos 5.3,bugzilla 3.0.5,subversion 1.6.3,scmbug0.26.15
    安装步骤:
    1,安装mysql server.修改mysql server默认编码为utf-8和默认数据文件目录./etc/my.cnf文件
    datadir=/data/mysql,character-set-server=utf8.
    2.安装subverion-client,server,extras三个包。
    3.安装libxslt, docbook-utils,perl*,ImageMagick-perl,mod_perl,gd-devel,gdbm-devel等包
    4.安装bugzilla及用cpan安装还缺少的perl modules,注意安装scmbug需要的Log::Log4perl和Mail::Sendmail两个modules
    5.在mysql中建立bugs数据库,并建立bugs账号。create database bugs;grant all on bugs.* to bugs@localhost.我这里没有设置密码。
    6.运行checksetup.pl检查配置,并建立初始管理员账号。
    7.安装scmbug。修改/etc/scmbug/daemon.conf中bugzilla的安装目录,bug_url_prefix,和user mapping.我这里不用mapping.以后配置svn使用bugzilla中的账号。
    8.运行Configure-CollabNet-Subversion初始化subversion配置。
    9.在/etc/opt/CollabNet_Subversion/conf/http.conf中加入bugzilla配置。加入
    Alias /bugzilla "/opt/bugzilla-3.0.5"
    AddHandler cgi-script .cgi
    Options +Indexes +ExecCGI
    DirectoryIndex index.cgi
    AllowOverride Limit
    Order allow,deny
    Allow from all
    对这些配置也不清楚,反正是抄的。
    10. 安装mod_auth_mysql包,在httpd.conf中加入LoadModule mysql_auth_module /usr/lib64/httpd/modules/mod_auth_mysql.so.使subversion能使用bugzilla中的用户数据。
    并修改collabnet_subversion_httpd.conf配置。
    注释掉AuthUserFile的配置
    加入
    AuthBasicAuthoritative off
    AuthMySQLAuthoritative on
    AuthMySQLEnable on
    AuthMySQLHost localhost
    AuthMySQLUser bugs
    #AuthMySQLPassword passwd
    AuthMySQLDB bugs
    AuthMySQLUserTable profiles
    AuthMySQLNameField login_name
    AuthMySQLPasswordField cryptpassword
    AuthMySQLUserCondition "disabledtext = ''"
    AuthMySQLPwEncryption crypt
    #AuthMySQLGroupTable "profiles, user_group_map, groups"
    #AuthMySQLGroupCondition "profiles.userid = user_group_map.user_id and user_group_map.group_id = groups.id and user_group_map.isbless = 0 and groups.isactive = 1 and disabletext = ''"
    #AuthMySQLGroupField name
    #AuthGroupFile //dev/null
    AuthUserFile //dev/null
    用户信息可以使用mysql中的数据了,现在组信息和权限信息还不能通用,所以组及权限信息还是在svn_access_file维护。
    如果对viewvc也限制,也可以在viewvc_httpd.conf中一样设置,不这viewvc权限设置太麻烦了一些,暂没有找到什么好办法。
    11.将mysql,collabnet_subversion_httpd和scmbug-server启动就行了。乱码问题见另一篇文章。
    现在就大功告成了。就可以用scmbug_install_gule来关联svn和bugzilla了。

     

    使用scmbug将subversion、viewvc与bugzilla集成

    将scmbug安装完成后,基本都集成好了。
    改进:
    1、在viewvc查看时,可以跳转到bugzilla中。
    修改 viewvc中viewvc.py文件,def htmlify(html):函数前加一定义,_re_rewrite_bug = re.compile('(^\s*)(bug\s+(\d+))(\s*:)'),在htmlify函数中输入处理:html = re.sub(_re_rewrite_bug, r'\1<a href="/bugzilla/show_bug.cgi?id=\3">\2</a>\4', html),这样就可以跳转了。
    2、改进bugzilla中注释乱码
    修改scmbug中Subversion.pm,把其中4处svnlook调用前加上 env LANG=xx_XX LC_ALL=xx_XX.XXXX 。这样就不会乱码了。
    不过,使用bugzilla 3.0.5没有乱码,使用3.0.8还是有乱码。暂没有研究是什么问题。

  •    最近总是在不同场合不厌其烦地向朋友们推荐这一套BBC的纪录片,《Planet Earth(行星地球)》,又译为《地球脉动》。撷取几个令我感动的画面,和大家分享。


        沙漠里久旱之后的一场甘雨,荒芜如火星般的地表忽然奇迹般地焕发出勃勃生机。沉寂地下可能长达三十年的种子争相萌发,绚丽夺目的小花布满整片山谷。数天之内,它们生长、开花、凋谢、死去,完成一次轮回。种子继续埋藏,静待下一次但却不知是何年何月的生命怒放。
        中国四川,大熊猫的栖息地,剪接之后的超长镜头,从料峭寒冬,白雪初融,到春去秋来,花开花落,漫山遍野的杜鹃、散落其间的樱花,两分钟内,沧海桑田。
        委内瑞拉平顶高原,柯南道尔的“失落的世界”。世界落差最大的瀑布从峰顶流下,陡然急降近千米,水雾在阳光下幻化出绚烂的彩虹。在这样的激流里,居然生活着不少动物。为了生存,在与水流的力量抗衡的斗争中,它们各显神通。
        智利海岸,终年无雨。但仅仅凭着云雾带来的水汽,就给沙漠带来了生命的奇迹。仙人掌在夜间绽放美丽花朵,花蜜成为迁徙的鸟儿沿途的美餐。无论在什么恶劣的环境,只有一点点的可能,生命就自然会找到出路。
        数量多得足以遮蔽天空的候鸟群,令人想起《迁徙的鸟》片尾曲中的动人词句:Over the shifting desert plains, across mountains all in flames. Through howling winds and driving rains, to be by your side.
        飞越喜马拉雅,是蓑羽鹤每年迁徙的必经之路。面对世界上最高的山脉,面对随时刮起的强风,面对虎视眈眈的天敌金雕,面对生死之间的挑战,蓑羽鹤忍着寒冷和饥饿,一下一下地展翅爬升,从绵延雄伟的雪山群上掠过,去往那温暖的越冬家园。
        生活在K2地区的雪豹总是踪迹难觅,拍摄人员隐藏等待三个月,终于看到它们出现在贫瘠而险峻的山地上。行走、跳跃、捕猎出击、一举一动都是那么优雅动人,堪称荒野中最美丽的风景。
        每年往返于地球两极之间的蓝鲸,在深蓝色的海上穿行,泛起阵阵白色浪花。虽然由于人类捕杀,数量已锐减至不足万头,但这种世界上最大的动物依然在穿梭于广袤的大洋,浮沉之间,宛若游龙。
        十小时在狭窄洞穴里的艰苦穿行,展现眼前的可能是世界上最美的洞穴景观。龙舌兰洞的“灯饰”大厅,自然与时间的妙笔,令石头变成了晶莹闪亮的花簇,而遍布岩壁上的嗜极细菌,更是无视生命无法脱离太阳存在的普适定律,发出的光芒如同宇宙中的点点寒星。
        成千上百的帝企鹅挤在一起,以相互的体温抵御零下40度以下的严寒和秒速30米以上的暴风雪,确保身体下面的蛋能平安度过世界上最漫长的黑夜。当新年的第一缕阳光洒落,当地平线上渐次出现雌企鹅的身影,生命的希望之火重燃。
        马达加斯加的静夜里,风云变幻,雨季来临。受到雨水的滋润,高耸入云的猴面包树顶端如魔术一般瞬间开满了长达一尺的花。花蜜成为狐猴、鹰蛾的美味琼浆,而掠食者又反过来成为授粉者。自然生态链的神奇表演就是如此的和谐。
        十七年的地下等待,一个月阳光下的生活,成千上万的十七年蝉涌现,给森林以及森林里的生物带来养分和食物,在种下希望之后死亡。要听到它们在枝头鸣叫,要再等待十七年。
        没有一丝阳光到达的深海,一座火山或一股潜流就可以带来无限生机。色彩斑斓的珊瑚、海绵,千奇百怪的鹦鹉螺、章鱼,在这个似乎被世界遗忘的角落,生命依然精彩。
        片子里,这样的画面比比皆是。超过五年的拍摄,浓缩而成十小时镜头前美轮美奂的世界,制作者用心述说着地球的故事。从北极到南极,让你感受淡水、荒漠、山地、洞穴、冰原、草原、森林、丛林、海洋等多姿多彩的自然环境下地球时刻跳动的脉搏。


        曾经见过有人问,如果向一位外国人推荐三部中国电影,你的选择是什么。这个问题的答案自然见仁见智。但如果一位外星人新朋友想通过影像记录来了解地球,那么《Planet Earth》应该可以位列其中。而作为地球人的我们,又怎么可以错过如此精彩的地球脉动呢。

  • 记录下今天的饭菜,不然忘记怎么做。

    早上的粟米猪腰香菜粥。玉米粒要先放。
    猪腰是妈妈动手处理的,要浸水挑筋。用了半只。
    切片之后和香菜一起放下去滚熟即可。

    然后是午餐晚餐的汤。

    原料有:
    家猪猪肚一只。

    //猪肚的快速处理方法:先洗并反转,然后在炒锅里放一些盐,大火炒热之后放下猪肚,用锅铲撮擦之。然后拿起冷水冲后,用菜刀刮之,就可以弄得干净了。

    鸡半只。如人多,一只也可。

    淮山一段。

    其它煲汤料(猪骨若干,北芪,杞子等若干,姜一小块拍碎,敲碎的胡椒少许)。

    先将鸡之外的材料放入汤煲中,大火煲滚。

    关火。将鸡整块放入,浸20分钟(如果是整只,浸25-30分钟,以浸熟为准,筷子轻松穿过即为熟)。
    一定要关火后浸,这样鸡肉就滑且爽,而汤也吸收了鸡的鲜味。

    将鸡捞出,切开备用。

    开火将汤煲滚之后小火继续煲,1小时后将猪肚捞出切开,备用。

    汤继续煲半小时后完成。

    这时候可以做的东西就多了。

    可以猪肚鸡用那种潮州咸酸菜煮,特别好吃,上次同事来吃的时候,连汁都喝得干干净净。
    不过就用芡兜热也挺好吃了。

    将剩下的半只猪腰炒熟,然后和1/3猪肚一起用酱油麻油兜一下,就是我们的午餐。

    晚餐有客人,所以除了剩下的猪肚鸡之外,还将做一个五彩炒粒粒。
    原料有:青瓜,冬菇,胡萝卜,玉米,沙葛,猪肉,均切粒。香菜少许切碎。


    //猪肉要预先腌好。调料的先后顺序是:盐、酱油、胡椒粉、糖。然后是生粉,最后少许生油。先下盐,比较入味,生粉令肉爽滑,最后生油包住外面,炒起来就比较香。

    成品:

    最后附送水果和零食。
    腰果是上次在香港买的生腰果,用盐水煮熟,沥干之后用微波炉叮2分钟,又香又甜。

  • Ctrl+Shift+L 列出所有快捷键的快捷键,哇哈哈

  •       好书!内容好,文笔好,翻译好。作者引经据典,妙笔生花。译者信手拈来,举重若轻。读至精妙处,每每为之击节。这几天一直在读,至深夜而手不释卷。

          此书基本上不属于技术类书籍,但我觉得应是程序员所乐于见到的故事和文字。严重推荐给曾经是程序员或者仍是程序员的同学们。

    附:

    本书英文版网站:http://www.dreamingincode.com/

    中文版网站:http://www.dreamingincode.cn/

    书中主角Chandler项目网站:http://chandlerproject.org/