статистика временной шкалы с мерзавцем

Если Вы хотите переключить spellcheck на и прочь, можно добавить что-то как следующее к .vimrc:

map <F4> :setlocal spell spelllang=en_gb<CR>
map <F5> :set nospell<CR>
3
24.04.2011, 14:09
2 ответа

Эта строка близко подходит к тому, что Вы хотите:

$ git log --format="%h %ad" --numstat
b29dfc1 Sun Apr 24 13:32:06 2011 +0200
3       0       bar
0       2       foo

d552271 Sun Apr 24 13:21:16 2011 +0200
2       1       foo

ac8894a Sun Apr 24 13:20:59 2011 +0200
1       0       foo

5965384 Sun Apr 24 13:20:40 2011 +0200
1       0       bar
1       0       foo

Читайте мерзавец регистрируют страницу справочника для получения дополнительной информации.

3
27.01.2020, 21:15
  • 1
    Действительно! Я могу запустить оттуда. Да, чтение страницы справочника, но не мог принести --numstat вместе с --format.спасибо. –  towi 24.04.2011, 14:40

У меня есть умный сценарий жемчуга, который делает задание:

#!/usr/bin/perl -w

use warnings;
use strict;
use Date::Parse;

my $out = "";
while (<>)
{
    chomp (my $line = $_);
    $out .= $1 if ($line =~ m/^commit ([a-z0-9]+)$/);
    $out .= "\t" . str2time($1) if ($line =~ m/^Date: (.+)$/);
    if ($line =~ m/ (\d+) files changed, (\d+) insertions\(\+\), (\d+) deletions\(-\)/)
    {
        print $out . "\t" . $1 . "\t" . $2 . "\t" . $3 . "\n";
        $out = "";
    }
}

print $out."\n";

Просто измените полномочия сделать это исполняемым файлом и передать вывод по каналу git log --shortstat к этому сценарию (здесь сценарий хранится /tmp/gitstats.pl):

user@srv % git log --shortstat | /tmp/gitstats.pl
d56d496ac70f6c441d624413f54aeba1dfb805d7        1303393788      104     51420   12081
98c4b66af7a0c7e6b8155bb2a538f7ca77c1243a        1303285305      234     34756   35022
6e33280279d5bd83ea8d0fde95b08394a297b159        1303251405      6       341     0
[...]

Первый столбец является идентификатором фиксации, вторая запись является меткой времени Unix, followd количеством измененных файлов, вставки и удаления.

Это также отслеживает Ваши двоичные файлы, но это - конечно, проблема Вашего дизайна repo...

3
27.01.2020, 21:15
  • 1
    Это прекрасно. Я, возможно, не сделал этого в жемчуге (и в Python это будет длиннее :-). В только должен был удалить use Date, У меня, очевидно, есть тонкий жемчуг здесь. NP, с помощью git log --shortstat --date=short | ./gitstats.pl это почти прекрасно. У меня, кажется, есть некоторые незначительные сбои парсинга... будет работать над этим. –  towi 24.04.2011, 17:04
  • 2
    После a Merge строки перепутаны. Легко решенный. –  towi 24.04.2011, 17:14
  • 3
    Никакая потребность проанализировать значение по умолчанию, предназначенный человеком выходной формат. Использовать --format и --numstat: git log --format='%H %at' --numstat | perl -ne 'if (m/^([[:xdigit:]]{40}) (\d+)$/) { print qq($c\t$t\t$n\t$a\t$r\n) if ($c); ($c,$t) = ($1,$2); $n = $a = $r = 0 }; if (m/^(\d+|-)\t(\d+|-)+\t/) { $n++; $a += $1 if $1 ne q(-); $r += $2 if $2 ne q(-) }' –  Chris Johnsen 25.04.2011, 10:04
  • 4
    Добавьте блок КОНЦА к сценарию @ChrisJohnsen для получения последней фиксации, END { print qq($c\t$t\t$n\t$a\t$r\n) if ($c); } –  xn. 03.11.2014, 00:42

Теги

Похожие вопросы