GIT - Определение # строк кода, записанных за час (совершенных и незафиксированных) - программирование
Подтвердить что ты не робот

GIT - Определение # строк кода, записанных за час (совершенных и незафиксированных)

Я хочу, чтобы график # новых строк кода записывался каждый час в течение дня.

Я знаю журнал git diff, git, и они очень эффективны для определения общего количества строк, привязанных к ветке. Опция -since = "7am" действительно отличная.

Некоторые из команд git, которые я использую:

Всего строк #

git log --numstat --pretty="%H" master | awk 'NF==3 {plus+=$1; minus+=$2} END {printf("+%d, -%d\n", plus, minus)}'

# дополнительных строк в ветке devel по сравнению с мастером

git log --numstat --pretty="%H" master..devel | awk 'NF==3 {plus+=$1; minus+=$2} END {printf("+%d, -%d\n", plus, minus)}'

# строки с момента времени

git log --since="7am" --format=format: --numstat | awk 'NF==3 {plus+=$1; minus+=$2} END {printf("%d, -%d\n", plus, minus)}'

# строки, которые в настоящее время не зарегистрированы

git diff --stat | tail -1 | awk '{print $4}'

Я боролся, хотя и придумал способ отслеживать # новых строк, написанных за последний час, включая незафиксированные изменения, во всех ветвях текущего репо.

Это может быть скорее математической проблемой.

Вопрос:

  • Как определить точное количество строк, написанных за последний час для всех ветвей, включая незафиксированные изменения.

Gotchas/Сценарий:

  • +200 uncommitted at 7pm - 200 новых строк. +250 uncommitted в 8 вечера - это всего 50 новых строк, написанных за последний час.
  • +200 uncommitted at 7pm - 200 новых строк. В 8 вечера мы передаем 100 строк, а затем напишем еще 50 новых строк. Теперь +150 показывают как незафиксированные, но нам нужно будет определить, что за последний час было написано только 50 новых строк. Согласование фиксированной и незафиксированной статистики.
  • +200 uncommitted в 19:00. В 19:30 мы пишем еще 500 новых строк и фиксируем их. В 8 вечера мы пишем еще 100 новых строк, тем самым показывая +300 как uncommitted. Мы должны в итоге получить 600 новых строк, написанных за последний час.
4b9b3361

Ответ 1

Есть инструмент gitstats, который может дать вам Lines of Code по дате. Возможно, вы можете немного изменить код (написано на python), чтобы он генерировал часовые статистические данные.