Наглядное представление активности коммитов SVN в терминале

от автора

В небольших личных проектах я использую SVN и bug-трекером в таких случаях служит лист формата A4. svn log никогда не был легко читаем для меня, поэтому я написал bash-скрипт, позволяющий наглядно видеть активность разработки за последнее время или список коммитов заданной даты:

image

#!/bin/bash  usage='usage:    ./svn_log <days>    OR    ./svn_log <date>  examples:    ./svn_log 10        OR    ./svn_log 2013-08-02'  # svn log в переменную чтобы обойтись одним вызовом svn_log=`svn log`  # 1. получаем входной параметр - количество дней ($days) или дата в формате YYYY-MM-DD ($date) param=$1 if [ -n "$param" ]; then     if [[ "$param" =~ ^[0-9]+$ ]] ; then         days="$param"     elif [[ "$param" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]]; then         date="$param"     else         echo "$usage"         exit 1     fi else     days=7 # по умолчанию показываем статистику коммитов за прошедшую неделю fi  # 2. запуск без параметра или с числовым параметром - статистика коммитов по дням if [ -n "$days" ]; then     for (( i=0; i<$days; i++ ))     do         # получаем дату каждого для в формате YYYY-MM-DD         day=`date +"%Y-%m-%d" --date "$end -$i day"`          # используем полученную дату для поиска по svn log         num_commits=$(echo "$svn_log" | grep "$day" | wc -l)                  # вывод результатов         echo -ne "$day "         for (( c=0; c<$num_commits; c++ )); do             echo -ne '#'         done         echo ''     done fi  # 3. запуск с параметром даты - перечень коммитов в указанный день if [ -n "$date" ]; then     echo "$svn_log" | grep -A 2 -B 1 "$date" | awk "NR%4==0" fi 

Скачать скрипт: pastebin.com

Буду рад, если этот инструмент пригодится кому-либо еще.

ссылка на оригинал статьи http://habrahabr.ru/post/188872/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *