$tree->set('class', $class);
$tree->set('hash', $commit['id']);
$tree->set('file', $entry['file']);
+ $tree->set('file_hash', $entry['to_id']);
if(count($commit['parent']) > 1) {
if(preg_match('/^[0]{40}$/', $entry['to_id'])) //file doesn't exist in the result (child) commit
$tree->set('file', $entry['file']);
else
- $tree->set('file', new ContentProvider('commit', 'tree_file_link', array('file' => $entry['file'])));
+ $tree->set('file', new ContentProvider('commit', 'tree_file_link', array('file' => $entry['file'], 'file_hash' => $entry['to_id'])));
$tree->set('specials', '');
case 'D': //Deleted
$merge = new ContentProvider('commit', 'tree_merge');
$merge->set('class', '');
- $blob_link = new ContentProvider('commit', 'tree_merge_blob', array('hash' => $commit['parent'][$i], 'file' => $entry['file']));
+ $blob_link = new ContentProvider('commit', 'tree_merge_blob', array('hash' => $commit['parent'][$i], 'file' => $entry['file'], 'file_hash' => $entry['to_id']));
$merge->set('links', array($blob_link, ' | '));
break;
default:
$merge->set('links', ' | ');
} else {
$merge->set('class', '');
- $merge->set('links', new ContentProvider('commit', 'tree_merge_diff', array('hash' => $commit['id'], 'parent' => $commit['parent'][$i], 'file' => $entry['file'], 'id' => ($i + 1))));
+ $params = array(
+ 'hash' => $commit['id'],
+ 'parent' => $commit['parent'][$i],
+ 'file' => $entry['file'],
+ 'file_hash' => $entry['to_id'],
+ 'parent_file_hash' => $entry['from_id'][$i],
+ 'id' => ($i + 1)
+ );
+ $merge->set('links', new ContentProvider('commit', 'tree_merge_diff', $params));
}
}
$tree->append('merge', $merge);
$tree->set('links', '');
if($not_deleted) {
- $tree->append('links', new ContentProvider('commit', 'tree_merge_blob', array('hash' => $commit['id'], 'file' => $entry['file'])));
+ $tree->append('links', new ContentProvider('commit', 'tree_merge_blob', array('hash' => $commit['id'], 'file' => $entry['file'], 'file_hash' => $entry['to_id'])));
if($has_history)
$tree->append('links', ' | ');
}
if($has_history)
- $tree->append('links', new ContentProvider('commit', 'tree_merge_history', array('hash' => $commit['id'], 'file' => $entry['file'])));
+ $tree->append('links', new ContentProvider('commit', 'tree_merge_history', array('hash' => $commit['id'], 'file' => $entry['file'], 'file_hash' => $entry['to_id'])));
} else {
- $tree->set('file', new ContentProvider('commit', 'tree_file_link', array('file' => $entry['file'])));
+ $tree->set('file', new ContentProvider('commit', 'tree_file_link', array('file' => $entry['to_file'], 'file_hash' => $entry['to_id'])));
$tree->set('merge', '');
$from_type = Tools::get_filetype($entry['from_mode']);
$link_placeholders = array(
"hash" => $commit['id'],
"file" => $entry['file'],
+ "file_hash" => $entry['to_id'],
+ "parent_file_hash" => $entry['from_id'],
"parent" => (count($commit['parent']) ? $commit['parent'][0] : ""),
);
if($patch_link)
$actions = array('R' => 'tree_moved', 'C' => 'tree_copied');
$move = new ContentProvider('commit', $actions[$entry['status']]);
$tree->set('specials', $move);
- $tree->set('file', $entry['to_file']);
$move->set('file', $entry['from_file']);
+ $move->set('file_hash', $entry['to_id']);
$move->set('hash', $commit['parent'][0]);
$move->set('similarity', $entry['similarity']);
if($from_mode != $to_mode)