From 271208c8690c22544102ae30d9bb4b5189fc91cc Mon Sep 17 00:00:00 2001
From: Kevin Smith <git@kismith.co.uk>
Date: Fri, 19 Apr 2013 10:37:34 +0100
Subject: Script for extracting contributors from commit log

Change-Id: I83281114f688a04c9763cd3a61c3f6bae99a87ba

diff --git a/BuildTools/Copyright/find-contribs.py b/BuildTools/Copyright/find-contribs.py
new file mode 100755
index 0000000..63c454e
--- /dev/null
+++ b/BuildTools/Copyright/find-contribs.py
@@ -0,0 +1,57 @@
+#!/usr/bin/env python
+
+import subprocess
+
+def print_log(full_log):
+	full_log_lines = full_log.split("\n")
+
+	commits = []
+
+	commit_bit = "commit "
+	author_bit = "Author: "
+	date_bit = "Date: "
+
+	commit = None
+	for line in full_log_lines:
+
+		if line[0:len(commit_bit)] == commit_bit:
+			if commit:
+				commits.append(commit)
+			commit = {'text':''}
+		handled = False
+		for bit in [commit_bit, author_bit, date_bit]:
+			if line[0:len(bit)] == bit:
+				commit[bit] = line
+				handled = True
+		if not handled:
+			commit['text'] += line
+
+	commits.append(commit)
+
+	contributions = []
+
+	for commit in commits:
+		if not "git@kismith.co.uk" in commit[author_bit] and not "git@el-tramo.be" in commit[author_bit]:
+			contributions.append(commit)
+
+	#print contributions
+	contributors = {}
+	for commit in contributions:
+		if not commit[author_bit] in contributors:
+			contributors[commit[author_bit]] = []
+		contributors[commit[author_bit]].append(commit[commit_bit])
+
+	for contributor in contributors:
+		print contributor + " has contributed patches " + ", ".join([commit[len(commit_bit):] for commit in contributors[contributor]])
+
+full_swiften_log = subprocess.check_output(["git", "log", "--", "Swiften"])
+
+print "Contributors for Swiften/ subtree:\n"
+print_log(full_swiften_log)
+
+full_all_log = subprocess.check_output(["git", "log"])
+
+print "\n\n\n\n"
+
+print "Contributors for full tree:\n"
+print_log(full_all_log)
-- 
cgit v0.10.2-6-g49f6