exit_with_error('FailedToInsertRepository', array('commit' => $commit_info));
}
+ $account = array_get($commit_info['author'], 'account');
+ $committer_query = array('repository' => $repository_id, 'account' => $account);
+ $committer_data = $committer_query;
+ $name = array_get($commit_info['author'], 'name');
+ if ($name)
+ $committer_data['name'] = $name;
+ $committer_id = $db->update_or_insert_row('committers', 'committer', $committer_query, $committer_data);
+ if (!$committer_id) {
+ $db->rollback_transaction();
+ exit_with_error('FailedToInsertCommitter', array('committer' => $committer_data));
+ }
+
$parent_revision = array_get($commit_info, 'parent');
$parent_id = NULL;
if ($parent_revision) {
'revision' => $commit_info['revision'],
'parent' => $parent_id,
'time' => $commit_info['time'],
- 'author_name' => array_get($commit_info['author'], 'name'),
- 'author_email' => array_get($commit_info['author'], 'email'),
+ 'committer' => $committer_id,
'message' => $commit_info['message'],
'reported' => true,
);