X-Git-Url: http://git.pk910.de/?p=phpgitweb.git;a=blobdiff_plain;f=htdocs%2Flib%2FPageClasses.difftree.class.php;fp=htdocs%2Flib%2FPageClasses.difftree.class.php;h=880e7e3fb6228fc448d150793e83422bb8fe3277;hp=4b81e342295a0a76398fae75f3410898d81e8075;hb=ee39a29d2d94cb45f3634bc853f223192d3ad0d4;hpb=07f0862d6ef4a14a812381a30931a46a51dbc87d diff --git a/htdocs/lib/PageClasses.difftree.class.php b/htdocs/lib/PageClasses.difftree.class.php index 4b81e34..880e7e3 100644 --- a/htdocs/lib/PageClasses.difftree.class.php +++ b/htdocs/lib/PageClasses.difftree.class.php @@ -51,12 +51,13 @@ class difftree { $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', ''); @@ -80,7 +81,7 @@ class difftree { 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: @@ -90,7 +91,15 @@ class difftree { $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); @@ -98,15 +107,15 @@ class difftree { $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']); @@ -118,6 +127,8 @@ class difftree { $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) @@ -156,8 +167,8 @@ class difftree { $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)