GitMessage过滤与Git提交的邮件分类脚本

最近在对Freescale i.MX6 kernel代码进行一些对比的时候,写了两个内容类似的简单脚本。共参考。 脚本放在了bitbucket的snippets中:GitCommitFilterAndSorter, 里面有两个文件。两个脚本都需要传入两个hashID,作为git 起点与终点,即from与util。 CommitMsgFilter.sh 这个脚本就是将Commit Message是以”ENGR”开头的条目skip掉,然后output出其他的。ENGR是freescale官方补丁Commit Message的开头,因此这个脚本其实是为了找出非Freescale的BSP 补丁。 例如将这个脚本拷贝到了imx6的kernel目录之后,可以使用类似下面的命令来查看非BSP提交,并去掉一些Merge branch与Merge tag的提交:

得到的结果类似如下:

  CommitMsgSort.sh 这个脚本按照提交者的邮件进行分类,将各种的提交记录到以邮件地址命名的文件中,这样子可以统计出开发团队中各自的提交量。例如将脚本下载到了内核目录下后,可以使用类似下面的命令来获取大家的提交数量:

Continue reading »

用gitlabCI快速搭建一个GitServer与CI

一般的公司一般都有一个或者多个中央Git Server,托管着所有项目代码;同时当一个项目很大,由许多个工程组成,例如Tizen和Android,那么一般还有Continuous Integration(CI)在有人push代码到工程时编译整个项目,编译出错一般CI会发邮件给提交者和管理者,从而可以及时修正错误。 Git Server安装与使用 Git server很多,列举一部分: WINDOWS GitStack:免费版只能有两个账号 SCM Manager LINUX GitLab Git-Deamon Git使用-bare生成 获取与安装 这里使用gitlab,到这里下载bitnami gitlab一键安装包。安装非常简单,只需要添加可执行权限然后用sudo ./XXX.run 执行即出现图形化的安装向导。在安装过程中需要设置用户名和密码用于后面配置使用。

Continue reading »