2010年1月 归档
Subversion 版本库整理实战
1月27日
在使用 svnadmin dump, svnadmin load, svndumpfilter 等命令对 Subversion 版本库裁减,可真的不是 a piece of cake. 有很多技巧,窍门和陷阱。
这不,今天一个客户的电话,就涉及到了 svn 版本库裁减的好些问题:
- svndumpfilter 命令后面的 include 或者 exclude 子语句,后面的多个路径用逗号分割可以么?
- svndumpfilter 命令后面的 include 或者 exclude 子语句,后面的路径可以使用通配符么?如何使用?
- svndumpfilter 命令涉及的路径非常多,在命令行写太复杂了,甚至可能超过 SHELL 对命令行长度的限制,该如何?
- 重新整理的版本库为什么有很多空的提交,说是为了占位之用?
- 重新整理后的版本库的路径可以改变么?
删除 git submodule (git 库子模组)
1月26日
有两种情况会创建 git submodule (git 子模组)
- 显性方式添加:使用 git submodule 命令将其他git库作为子目录添加,即子模组
- 隐性方式添加:使用 git add 添加,如果某个子目录本身是一个 git 库,就自动添加为子模组,不再递归添加该目录下面的文件
那么这两种方式添加的子模组有什么不同?子模组有什么副作用?如何删除模组呢?
TestLink简明配置手册
1月25日
安装完TestLink的下一步就是配置了,Testlink的配置信息包含很多方面,从日志信息、与其它bug管理工具的连接、自定义产生的文档、Email信息配置、用户认证配置、GUI定制、测试执行设置、测试规约、附件、需求支持、混合功能配置等等,在此一并列出。希望对你的TestLink的配置有所帮助,在此也声明一点,TestLink系统配置是很庞大的,部分信息是从网上搜集的。
阅读全部内容 »
Subversion 用户眼中的 Git (4): 全局版本号和全球版本号
1月25日
Subversion 的全局版本号和 CVS 的每个文件都独立维护一套版本号相比,是一个非常大的进步。在看似简单的全局版本号的背后,是 Subversion 提供对于事物处理的支持,每一个事物处理(即一次提交)都具有整个版本库全局唯一的版本号。
Git 的版本号则更进一步,版本号是全球唯一的。也可以说是全宇宙唯一的。 :-D Git 对于每一次提交,要将包括作者,提交内容等在内的信息整个作一个 SHA1 哈希,进而得到版本号。版本号得到一个 40 位十六进制字串。
什么?40位长的版本号?
群英汇 TopGit 改进 (5): tg summary 执行的更快
1月23日
关于 tg summary 速度改进,其实不是因为 tg summary 使用中发现的问题。tg summary 是在使用 topgit 最常用到的命令。该命令用于查看各个功能分支和版本库的同步关系。
一般情况下,不太容易受到这个小问题的干扰,但是如果存在近百个功能分支,就有问题了:
- 执行 tg create <TAB>,即在 tg create 命令后按下 Tab 键,想查看当前分支列表,会发现速度很慢,需要一秒钟甚至更长的时间相应。可是用命令 git co 按下命令,瞬间就提供分支名的自动补齐
- tg depend 命令也存在类似问题
- tg patch 命令如果按下 Tab 键,也存在类似问题
- …
追根溯源,找到原来是 tg summary -t 命令的性能问题。命令补齐实际上是调用的 tg summary -t 命令来获取 topgit 分支的。
看看改进前和改进后,执行 tg summary -t 命令的效率:
- 改进前:
$ time tg summary -t >/dev/null real 0m1.799s user 0m0.580s sys 0m0.868s
- 改进后:
$ time tg summary -t >/dev/null real 0m0.040s user 0m0.016s sys 0m0.020s
- 可以看出改进后,执行时间由 1.8 秒缩短为仅仅 0.04 秒
我们是如何改进的呢?非常简单,简单到有些不好意思,您去 Github 上看看吧。
Gistore 项目正式发布 —— 基于 Git 的 Linux 数据备份系统
1月23日
在之前的 gistore 项目发布预告 的博客中,我们已经提到了 gistore 项目,今天我们正式将此项目发布:
- pypi 上的项目页:gistore 项目
- Github 上的版本库:http://github.com/ossxp-com/gistore
什么是 Gistore,如何使用呢?
阅读全部内容 »
剥离CruiseControl dashboard控制台到Debian安装的tomcat6上
1月23日
在前篇日志 如何剥离CruiseControl内置的Web控制台 中,我已经介绍过怎么剥离CruiseControl内置的控制台dashboard到tomcat6容器中。但那篇日志中介绍的是用下载压缩包方式安装的tomcat6,在这我向大家介绍一下如何用Debian包安装的tomcat6部署dashbaord控制台。
为什么这两种安装tomcat6的方法会给web部署带来异同呢?
Dashboard不能运行在Debian包安装的Tomcat6上?
1月23日
前面的一篇日志中我已经介绍了如何把CruiseControl的dashboard Web控制台剥离到tomcat6上。但那时介绍剥离时用的是下载tomcat6压缩包然后解压的tomcat6,并没有Debian 自己提供的tomcat6安装包。或许你会问怎么不直接用Debian提供软件包安装呢?其实不是我不想,只是我实验过用
sudo aptitude install tomcat6
直接安装tomcat6,但是无论如何就是不能成功部署dashboard。 :-?
最终只能委曲求全,“另辟蹊径”了。
但今天同事也遇到这样的问题了,看来是时候解决这个问题了。
CruiseControl HgVersionParser: no match of
1月22日
使用开源CruiseControl的时候,SCM工具是Mercurial(hg)。CC在收集hg库的修改集合信息的时候,解析hg的version总是出错。这个问题困扰我很长时间,昨天终于解决了。



最新评论