Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement