<commit_before><?php

final class DiffusionBrowseController extends DiffusionController {

  public function processRequest() {
    $drequest = $this->diffusionRequest;

    $browse_query = DiffusionBrowseQuery::newFromDiffusionRequest($drequest);
    $results = $browse_query->loadPaths();

    $content = array();

    if ($drequest->getTagContent()) {
      $title = 'Tag: '.$drequest->getSymbolicCommit();

      $tag_view = new AphrontPanelView();
      $tag_view->setHeader(phutil_escape_html($title));
      $tag_view->appendChild(
        $this->markupText($drequest->getTagContent()));

      $content[] = $tag_view;
    }

    if (!$results) {

      if ($browse_query->getReasonForEmptyResultSet() ==
          DiffusionBrowseQuery::REASON_IS_FILE) {
        $controller = new DiffusionBrowseFileController($this->getRequest());
        $controller->setDiffusionRequest($drequest);
        $controller->setCurrentApplication($this->getCurrentApplication());
        return $this->delegateToController($controller);
      }

      $empty_result = new DiffusionEmptyResultView();
      $empty_result->setDiffusionRequest($drequest);
      $empty_result->setBrowseQuery($browse_query);
      $empty_result->setView($this->getRequest()->getStr('view'));
      $content[] = $empty_result;

    } else {

      $phids = array();
      foreach ($results as $result) {
        $data = $result->getLastCommitData();
        if ($data) {
          if ($data->getCommitDetail('authorPHID')) {
            $phids[$data->getCommitDetail('authorPHID')] = true;
          }
        }
      }

      $phids = array_keys($phids);
      $handles = $this->loadViewerHandles($phids);

      $browse_table = new DiffusionBrowseTableView();
      $browse_table->setDiffusionRequest($drequest);
      $browse_table->setHandles($handles);
      $browse_table->setPaths($results);
      $browse_table->setUser($this->getRequest()->getUser());

      $browse_panel = new AphrontPanelView();
      $browse_panel->appendChild($browse_table);

      $content[] = $browse_panel;
    }

    $content[] = $this->buildOpenRevisions();

    $readme_content = $browse_query->renderReadme($results);
    if ($readme_content) {
      $readme_panel = new AphrontPanelView();
      $readme_panel->setHeader('README');
      $readme_panel->appendChild($readme_content);

      $content[] = $readme_panel;
    }


    $nav = $this->buildSideNav('browse', false);
    $nav->appendChild($content);

    $crumbs = $this->buildCrumbs(
      array(
        'branch' => true,
        'path'   => true,
        'view'   => 'browse',
      ));
    $nav->setCrumbs($crumbs);

    return $this->buildApplicationPage(
      $nav,
      array(
        'title' => array(
          nonempty(basename($drequest->getPath()), '/'),
          $drequest->getRepository()->getCallsign().' Repository',
        ),
      ));
  }

  private function markupText($text) {
    $engine = PhabricatorMarkupEngine::newDiffusionMarkupEngine();
    $text = $engine->markupText($text);

    $text = phutil_render_tag(
      'div',
      array(
        'class' => 'phabricator-remarkup',
      ),
      $text);

    return $text;
  }

}
<commit_msg>Display raw contents of deleted file in Diffusion<commit_after><?php

final class DiffusionBrowseController extends DiffusionController {

  public function processRequest() {
    $drequest = $this->diffusionRequest;

    if ($this->getRequest()->getStr('before')) {
      $results = array();
      $is_file = true;
    } else {
      $browse_query = DiffusionBrowseQuery::newFromDiffusionRequest($drequest);
      $results = $browse_query->loadPaths();
      $reason = $browse_query->getReasonForEmptyResultSet();
      $is_file = ($reason == DiffusionBrowseQuery::REASON_IS_FILE);
    }

    $content = array();

    if ($drequest->getTagContent()) {
      $title = 'Tag: '.$drequest->getSymbolicCommit();

      $tag_view = new AphrontPanelView();
      $tag_view->setHeader(phutil_escape_html($title));
      $tag_view->appendChild(
        $this->markupText($drequest->getTagContent()));

      $content[] = $tag_view;
    }

    if (!$results) {

      if ($is_file) {
        $controller = new DiffusionBrowseFileController($this->getRequest());
        $controller->setDiffusionRequest($drequest);
        $controller->setCurrentApplication($this->getCurrentApplication());
        return $this->delegateToController($controller);
      }

      $empty_result = new DiffusionEmptyResultView();
      $empty_result->setDiffusionRequest($drequest);
      $empty_result->setBrowseQuery($browse_query);
      $empty_result->setView($this->getRequest()->getStr('view'));
      $content[] = $empty_result;

    } else {

      $phids = array();
      foreach ($results as $result) {
        $data = $result->getLastCommitData();
        if ($data) {
          if ($data->getCommitDetail('authorPHID')) {
            $phids[$data->getCommitDetail('authorPHID')] = true;
          }
        }
      }

      $phids = array_keys($phids);
      $handles = $this->loadViewerHandles($phids);

      $browse_table = new DiffusionBrowseTableView();
      $browse_table->setDiffusionRequest($drequest);
      $browse_table->setHandles($handles);
      $browse_table->setPaths($results);
      $browse_table->setUser($this->getRequest()->getUser());

      $browse_panel = new AphrontPanelView();
      $browse_panel->appendChild($browse_table);

      $content[] = $browse_panel;
    }

    $content[] = $this->buildOpenRevisions();

    $readme_content = $browse_query->renderReadme($results);
    if ($readme_content) {
      $readme_panel = new AphrontPanelView();
      $readme_panel->setHeader('README');
      $readme_panel->appendChild($readme_content);

      $content[] = $readme_panel;
    }


    $nav = $this->buildSideNav('browse', false);
    $nav->appendChild($content);

    $crumbs = $this->buildCrumbs(
      array(
        'branch' => true,
        'path'   => true,
        'view'   => 'browse',
      ));
    $nav->setCrumbs($crumbs);

    return $this->buildApplicationPage(
      $nav,
      array(
        'title' => array(
          nonempty(basename($drequest->getPath()), '/'),
          $drequest->getRepository()->getCallsign().' Repository',
        ),
      ));
  }

  private function markupText($text) {
    $engine = PhabricatorMarkupEngine::newDiffusionMarkupEngine();
    $text = $engine->markupText($text);

    $text = phutil_render_tag(
      'div',
      array(
        'class' => 'phabricator-remarkup',
      ),
      $text);

    return $text;
  }

}

{'fraction_non_alphanumeric': 0.15837517115472388, 'fraction_numerical': 0.0, 'mean_word_length': 3.111319574734209, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 101, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6744200', 'n_tokens_mistral': 2109, 'n_tokens_neox': 2036, 'n_words': 286}