...

суббота, 3 августа 2013 г.

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


сегодня в 18:51


В небольших личных проектах я использую 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


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





Developers, stick with Russians – work in London




Переводы с

карты на карту


Переводы

через QR-Код


Новая функция

«Мой контроль»



Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends: 'You Say What You Like, Because They Like What You Say' - http://www.medialens.org/index.php/alerts/alert-archive/alerts-2013/731-you-say-what-you-like-because-they-like-what-you-say.html


Комментариев нет:

Отправить комментарий