Intereting Posts

Можно ли подсчитать количество новых тестов JUnit на человека с помощью git-журнала?

Есть ли какой-либо способ для меня найти, кто совершил наибольшее количество строк, содержащих @Test используя git log или аналогичный?

Я написал этот короткий скрипт python, который ищет аналогичный шаблон в python codebase:

 import collections import subprocess lines_by_author = collections.defaultdict(int) for line in subprocess.check_output(( 'git', 'log', '-G', '^def test', '--format=%ae %h', )).decode().splitlines(): email, h = line.split() for line in subprocess.check_output(( 'git', 'show', h, )).decode().splitlines(): if line.startswith('+def test'): lines_by_author[email] += 1 elif line.startswith('-def test'): lines_by_author[email] += 1 import pprint pprint.pprint(sorted(lines_by_author.items(), key=lambda kv: -1 * kv[1])) 

Сценарий можно изменить, чтобы искать @Test , изменив параметр на -G и два startswith() .

Он будет производить вывод, например:

 $ python3 tests_by_user.py [('user1@example.com', 1351), ('user2@example.com', 129), ('user3@example.com', -5)]