使用Gource动画化JBoss项目

发布者:    |       Eclipse JBoss Tools

Gource 是一个软件版本控制可视化工具,其独特之处在于它非常快,并且支持多种版本控制系统,包括SVN。

我只用了不到10分钟就将其部署并运行,以便可视化JBoss Tools和Hibernate的SVN检出。

我还花了点时间来添加自动从 community.jboss.org 获取用户图像的功能,基于日志中的提交者名称,结果如下

静态图片并不能完全体现Gource的优势,所以请务必查看一些来自Gource的 示例视频

如果您想在自己的机器上尝试运行它,这里是我为它创建的脚本(在cygwin上测试过,但也应在其他*nix变种上工作)。

脚本

要求

  • Gource 用于您的平台
  • svn-gource.py (放置在Gource的根目录中)
  • svn
  • curl
  • Python
  • Cygwin(如果是在Windows上)

更新以下(非优化但可工作的)shell脚本中的 GOURCE_HOME 并将其保存为 gourcejboss.sh

export GOURCE_HOME=/cygdrive/c/work/products/gource
echo Fetching SVN Log
svn log --verbose --xml > gource-svn.log

echo Convert svn log to gource log
python $GOURCE_HOME/svn-gource.py --filter-dirs gource-svn.log > gource-custom.log

echo Getting unique committers from log and preparing urls
gawk -F\| '{ print $2 }' gource-custom.log > gource-all.txt
sort gource-all.txt | uniq > gource-unique.txt

gawk -F\| '{ print "curl -o " $1 ".png http://community.jboss.org/profile-image-display.jspa?username=" $1 }' gource-unique.txt > gource-urls.txt

echo Fetching committer images from community.jboss.org
mkdir gource-img
cd gource-img
sh ../gource-urls.txt 
echo Removing images for users with errors/missing
grep -l "unexpected error" *.png | xargs -n1 -i rm {}
cd ..

echo Running gource
$GOURCE_HOME/gource --log-format custom --user-image-dir ./gource-img gource-custom.log

现在进入您想要在gource上运行的SVN检出根目录,然后运行 sh gourcejboss.sh,看看魔法如何展开。

祝您玩得开心,如果您有一台有足够磁盘空间/处理器的机器可以 录制视频,请发布链接!


返回顶部