当前位置: 首页 > 工具软件 > CodesWarm > 使用案例 >

Code Swarm生成可视化项目代码贡献视频

欧阳狐若
2023-12-01

Code Swarm一个可以生成可视化项目代码贡献视频的软件,支持使用svn、cvs、git等代码管理工具提交的日志生成动画。

参考视频:豆瓣代码大爆炸视频


下面介绍svn的提交日志生成代码视频


环境需求

JAVA环境   http://www.python.org/download/

python环境   http://www.java.com/zh_CN/download/manual.jsp

下载之后安装并配置相应的环境变量,如果是windows安装过程中会自动帮你写入到环境变量中,所以不需要做其他配置


具体过程

CodeSwarm的svn地址:http://codeswarm.googlecode.com/svn/trunk

1、下载最新的CodeSwarm代码,仔细阅读目录下的README文件,按照里面的步骤配置好环境

windows详细过程:

下载Apache Ant   http://ant.apache.org/bindownload.cgi   ,解压到c盘下,然后配置环境变量,桌面右键我的电脑->高级->环境变量找到PATH变量将C:\apache-ant-1.7.0\bin;添加到内容的最后,1.7.0请修改为你相应的ant文件夹名字

2、cmd进入命令行模式,cd到codeswarm文件夹,执行ant命令编译生成可执行文件

3、将svn的提交日志文件(如svn_log.txt)复制到convert_logs目录,cmd命令行模式进入convert_logs目录,用以下命令生成codeswarm可识别的xml文件

convert_logs.py -s svn_log.txt -o sample-repevents.xml

注意:不同的版本管理工具需要不同的命令,其他命令请执行convert_logs.py --help查看

4、将生成的sample-repevents.xml文件复制到data目录下,注意先备份原来的sample-repevents.xml文件

运行codeswarm根目录下的run.bat文件,enter键就可以看到代码视频了


注意

有的同学可能拿不到项目的svn服务器的日志文件,这里提供另外一种可以获得svn日志文件的方法

1、项目文件右键TortoiseSVN->显示日志->全部显示

2、选中第一条日志并拖动到最后按shift点击最后一条选中全部的日志,右键复制到剪贴板

3、新建txt文件并将日志粘贴到文件内

这时我们就有了全部的日志记录,但是这个日志文件内容格式还不是codeswarm能识别的文件,下面是一段php代码,用此代码处理后会生成新的文件,生成的文件才是codeswarm能识别的svn日志文件

$svnlogs = file_get_contents("svn_log.log");
$svnlogs = str_replace('
', '', $svnlogs);
$svnlogs = str_replace('版本: ', '

------------------------------------------------------------------------
r', $svnlogs);
$svnlogs = str_replace('作者: ', ' | ', $svnlogs);
$svnlogs = str_replace('日期: ', ' | ', $svnlogs);
$svnlogs = str_replace('信息:', ' | 100 lines
Changed paths:', $svnlogs);
$svnlogs = str_replace('已修改 :', '
   M', $svnlogs);
$svnlogs = str_replace('已增加 :', '
   M', $svnlogs);
$svnlogs = str_replace('已删除 :', '
   D', $svnlogs);
$svnlogs = str_replace(' 星期一', '', $svnlogs);
$svnlogs = str_replace(' 星期二', '', $svnlogs);
$svnlogs = str_replace(' 星期三', '', $svnlogs);
$svnlogs = str_replace(' 星期四', '', $svnlogs);
$svnlogs = str_replace(' 星期五', '', $svnlogs);
$svnlogs = str_replace(' 星期六', '', $svnlogs);
$svnlogs = str_replace(' 星期日', '', $svnlogs);
$svnlogs = str_replace('年', '-', $svnlogs);
$svnlogs = str_replace('月', '-', $svnlogs);
$svnlogs = str_replace('日', '', $svnlogs);
file_put_contents('svn_log.txt', $svnlogs);
echo "<pre>".$svnlogs;
exit;

代码很简单,完全的字符串替换,会php的一看就懂,主要目的是将文件内容格式化成codeswarm能理解的内容格式,如果处理过程中有问题的请做相应修改。



 类似资料: