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
,看看魔法如何展开。
祝您玩得开心,如果您有一台有足够磁盘空间/处理器的机器可以 录制视频,请发布链接!