added commiters-per-month datset
This commit is contained in:
		| @ -704,11 +704,13 @@ class Code extends Controller | ||||
| 		$file = $this->subversion->getHistory ($projectid, $path, SVN_REVISION_HEAD); | ||||
| 		if ($file === FALSE) | ||||
| 		{ | ||||
| 			header($_SERVER['SERVER_PROTOCOL'].' 500 Internal Server Error');  | ||||
| 			return; | ||||
| 			$history = array(); | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			$history = $file['history']; | ||||
| 		} | ||||
|  | ||||
| 		$history = $file['history']; | ||||
| 		print codepot_json_encode ($history); | ||||
| 	} | ||||
|  | ||||
|  | ||||
| @ -30,26 +30,50 @@ function show_commits_per_month_graph(response) | ||||
| 	var log = $.parseJSON(response); | ||||
| 	if (log == null) | ||||
| 	{ | ||||
| 		alert ('Invalid data ...'); | ||||
| 		alert ('Invalid data received'); | ||||
| 		return; | ||||
| 	} | ||||
|  | ||||
| 	var min_date = '9999-99', max_date = '0000-00'; | ||||
| 	var stats = [], stat_keys = [], stat_values = []; | ||||
| 	var commits_per_month = [], commits_per_month_keys = [], commits_per_month_values = []; | ||||
| 	var committers_per_month = [], committers_per_month_values = [], committer_list_per_month = []; | ||||
| 	var commits_per_month_count = 0; | ||||
| 	for (var i = 0; i < log.length; i++) | ||||
| 	{ | ||||
| 		var date = log[i].date; | ||||
| 		if (date) | ||||
| 		{ | ||||
| 			date = date.substring (0, 7); | ||||
| 			if (date in stats) stats[date]++; | ||||
| 			else stats[date] = 1; | ||||
| 			if (date in commits_per_month) commits_per_month[date]++; | ||||
| 			else commits_per_month[date] = 1; | ||||
|  | ||||
| 			// TODO: calculate committers... | ||||
| 			if (log[i].author) | ||||
| 			{ | ||||
| 				committer_list_per_month[date + '-' + log[i].author] = 1; | ||||
| 			} | ||||
|  | ||||
| 			if (date < min_date) min_date = date; | ||||
| 			if (date > max_date) max_date = date; | ||||
|  | ||||
| 			commits_per_month_count++; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	//if (Object.keys(commits_per_month).length <= 0) | ||||
| 	if (commits_per_month_count <= 0) | ||||
| 	{ | ||||
| 		// no data to show | ||||
| 		return; | ||||
| 	} | ||||
|  | ||||
| 	for (var key in committer_list_per_month) | ||||
| 	{ | ||||
| 		date = key.substring (0, 7); | ||||
| 		if (date in committers_per_month) committers_per_month[date]++; | ||||
| 		else committers_per_month[date] = 1; | ||||
| 	} | ||||
|  | ||||
| 	var year, month, min_year, max_year, min_month, max_month; | ||||
|  | ||||
| 	min_year = parseInt(min_date.substring (0, 4)); | ||||
| @ -57,6 +81,7 @@ function show_commits_per_month_graph(response) | ||||
| 	max_year = parseInt(max_date.substring (0, 4)); | ||||
| 	max_month = parseInt(max_date.substring (5)); | ||||
|  | ||||
| 	// fill empty data points | ||||
| 	for (year = min_year; year <= max_year; year++) | ||||
| 	{ | ||||
| 		month = (year == min_year)? min_month: 1; | ||||
| @ -72,39 +97,56 @@ function show_commits_per_month_graph(response) | ||||
|  | ||||
| 			date = y + '-' + m; | ||||
|  | ||||
| 			if (!(date in stats)) | ||||
| 			if (!(date in commits_per_month)) | ||||
| 			{ | ||||
| 				// fill the holes | ||||
| 				stats[date] = 0; | ||||
| 				commits_per_month[date] = 0; | ||||
| 			} | ||||
|  | ||||
| 			if (!(date in committers_per_month)) | ||||
| 			{ | ||||
| 				// fill the holes | ||||
| 				committers_per_month[date] = 0; | ||||
| 			} | ||||
|  | ||||
| 			month++; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	for (var key in stats) | ||||
| 	// for sorting | ||||
| 	for (var key in commits_per_month) | ||||
| 	{ | ||||
| 		stat_keys.push (key); | ||||
| 		//stat_values.push (stats[key]); | ||||
| 		commits_per_month_keys.push (key); | ||||
| 	} | ||||
|  | ||||
| 	stat_keys = stat_keys.sort(); | ||||
| 	for (i = 0; i < stat_keys.length; i++) | ||||
| 	commits_per_month_keys = commits_per_month_keys.sort(); | ||||
| 	for (i = 0; i < commits_per_month_keys.length; i++) | ||||
| 	{ | ||||
| 		stat_values.push (stats[stat_keys[i]]); | ||||
| 		commits_per_month_values.push (commits_per_month[commits_per_month_keys[i]]); | ||||
| 		committers_per_month_values.push (committers_per_month[commits_per_month_keys[i]]); | ||||
| 	} | ||||
|  | ||||
| 	var commits_per_month_data = { | ||||
| 		labels : stat_keys, | ||||
| 		labels : commits_per_month_keys, | ||||
|  | ||||
| 		datasets : [ | ||||
| 			{ | ||||
| 				label: 'Commits per month', | ||||
| 				fillColor : 'rgba(151,187,205,0.2)', | ||||
| 				strokeColor: "rgba(151,187,205,0.8)", | ||||
| 				data : stat_values | ||||
| 				pointColor: "rgba(151,187,205,0.8)", | ||||
| 				data : commits_per_month_values | ||||
| 			}, | ||||
| 			 | ||||
| 			{ | ||||
| 				label: 'Committers per month', | ||||
| 				fillColor: "rgba(205,187,151,0.2)", | ||||
| 				strokeColor: "rgba(205,187,151,0.8)", | ||||
| 				pointColor: "rgba(205,187,151,0.8)", | ||||
| 				data : committers_per_month_values | ||||
| 			} | ||||
| 		] | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	$('#commits-per-month-canvas').each (function() { | ||||
|  | ||||
		Reference in New Issue
	
	Block a user