统计svn上两个版本或一段时间内的代码修改行数
来源:互联网 发布:python怎么打开idle 编辑:程序博客网 时间:2024/06/05 08:26
我们想要统计svn上两个版本或一段时间内的代码修改行数。我们可以通过svn提供的svn diff命令帮助我们解决这个问题。
svn环境
首先,你必须要有一个svn的环境。如果你安装的是TortoiseSVN客户端,那么一定要安装command line client tools。这个就是svn最基本的命令行工具。
比较文件
通过如下命令比较文件差异并输出到文件 svn diff -r 13605:13762 https://192.168.1.1/xxx --username xxx --password xxx > c:/temp_svn_file
分析文件
打开文件,可以看到如下几种类型:
1. 含有1个+或-开头的行
2. 含有3个+或-开头的行
3. 不含有+和-开头的行
其中:1个+和-说明对文件的增加,修改和删除操作。我们只要知道这个,就可以统计修改的代码行数了。
其他符号说明
我们只要统计以+开头的行,就可以知道修改代码的总行数了,为了统计有效修改行数,我们还要剔除掉以+开头并且后面没有内容的空行。
#! /bin/bash# 计算有效变更代码量的脚本#./svnCount -thttps://192.168.0.58/xxx -s1000 -e2000 -uxxx -pxxxversion() { OS=`uname -o` echo "Source_counter ($OS) 0.0.1" echo " xxx"}usage() { echo "usage: source-counter [-t SVN_REPOSITORY_URL] [-s START_REVISION]" echo " [-e END_REVISION] [-u USER_NAME]" echo " [-p PASSWD]" echo " source-counter [-v|-h]" echo echo " -t, 目标SVN库地址" echo " -s, 起始修订号" echo " -e, 结束修订号" echo " -u, svn帐号" echo " -p, svn密码" echo " -h, 帮助" echo " -v, 版本信息"}if [ $# -lt 2 ]; then usage exit 1 fiwhile getopts "t:s:e:u:p:vh" opt; do case $opt in t) target=$OPTARG;; s) start_revision=$OPTARG;; e) end_revision=$OPTARG;; u) user=$OPTARG;; p) passwd=$OPTARG;; v) version; exit 1;; h) usage; exit 1;; esacdoneif [ -z $target ]; then echo "请输入目标SVN库地址!" exit 1fiif [ -z $start_revision ]; then echo "请输入起始修订号!" exit 1fiif [ -z $end_revision ]; then echo "请输入终止修订号!" exit 1fiTEMPFILE=temp.logUSERNAME=${user:-}PASSWD=${passwd:-}svn diff -r$start_revision:$end_revision $target > $TEMPFILE#去掉含空格的空行add_lines_count=`grep "^+" $TEMPFILE | grep -v "^+++" | sed 's/^.//'| sed s/[[:space:]]//g |sed '/^$/d'|wc -l`echo "the actually incremental source code lines = $add_lines_count"
0 0
- 统计svn上两个版本或一段时间内的代码修改行数
- 统计svn上两个版本或一段时间内的代码修改行数
- 统计svn上两个版本或一段时间内的代码修改行数
- 统计两个版本之间代码变更行数
- 统计一段时间内的sql_id
- SVN代码行数统计
- svn统计代码行数
- 统计两个SVN提交commit之间代码行数改动
- diffcount统计两个版本之间代码变更行数
- 统计一段时间内新建的session数
- sparkstreaming统计一段时间内的热搜词
- 统计代码的行数
- 使用svn命令统计两次上线之间的代码行数,以及不同作者的代码行数
- sql 统计一段时间内的工作日(除去星期六,星期天)
- SQL SERVER 统计一段时间内每天的数据
- 使用python统计csdn博客一段时间内的访问量
- 一段时间内的迷惑
- 【linux命令】代码或文件统计行数
- 使用Unicode编码输出自己的名字
- laravel框架的使用
- Ubuntu14.04的动、静态IP设置
- 事物回滚与异常
- JAVASE之异常
- 统计svn上两个版本或一段时间内的代码修改行数
- 如何确定Kafka的分区数、key和consumer线程数
- org.springframework.beans.factory.NoSuchBeanDefinitionException:
- 图论2-sat问题 HDU 3062
- java语言实现插入排序法
- SSH-基础篇-Action
- Xcode8调试黑科技:Memory Graph实战解决闭包引用循环问题
- Intellij IDEA svn的使用记录
- Java的基本数据类型-布尔类型