Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- import subprocess
- def main():
- shortlog = subprocess.check_output([
- 'git',
- 'shortlog',
- '--summary',
- ]).decode()
- authors = []
- for log_line in shortlog.splitlines():
- authors.append(log_line.split(None, 1)[1])
- first_commits_by_author = []
- for author in authors:
- commits = subprocess.check_output([
- 'git',
- 'log',
- f'--author={author}',
- '--reverse',
- "--pretty=format:%at,%ad,%an",
- '--date=short',
- ]).decode()
- first_commits_by_author.append(commits.splitlines()[0].split(','))
- header = 'timestamp,date,author,contributor_number'
- data = []
- sorted_committers = sorted(first_commits_by_author, key=lambda x: x[0])
- for contributer_count_zero_indexed, x in enumerate(sorted_committers):
- contributer_count = contributer_count_zero_indexed + 1
- x.append(str(contributer_count))
- data.append(','.join(x))
- print(header)
- for datum in data:
- print(datum)
- if __name__ == '__main__':
- main()
Add Comment
Please, Sign In to add comment