@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator

Remove repository shortcuts

Summary:
Repositories currently have a no-UI "shortcut" feature which is only used by Facebook (and I'm not sure it's even used). As implemented, this feature is policy-oblivious and kind of nonsensical. Throw it away.

I'm open to reimplementing this, but I want to see some level of interest in it before I do. The new implementation would add shortcuts to each repository, similar to how mirrors work. My original plan was to follow this up with such an implementation (it's half-implemented in my sandbox), but as I worked through it I'm not sure it's really valuable.

Test Plan: Browsed repository list, grep.

Reviewers: btrahan

Reviewed By: btrahan

CC: FacebookPOC, aran

Differential Revision: https://secure.phabricator.com/D7862

+5 -48
+1
resources/sql/patches/20131231.dropshortcut.sql
··· 1 + DROP TABLE {$NAMESPACE}_repository.repository_shortcut;
-2
src/__phutil_library_map__.php
··· 1835 1835 'PhabricatorRepositoryPushLogSearchEngine' => 'applications/repository/query/PhabricatorRepositoryPushLogSearchEngine.php', 1836 1836 'PhabricatorRepositoryQuery' => 'applications/repository/query/PhabricatorRepositoryQuery.php', 1837 1837 'PhabricatorRepositorySearchEngine' => 'applications/repository/query/PhabricatorRepositorySearchEngine.php', 1838 - 'PhabricatorRepositoryShortcut' => 'applications/repository/storage/PhabricatorRepositoryShortcut.php', 1839 1838 'PhabricatorRepositoryStatusMessage' => 'applications/repository/storage/PhabricatorRepositoryStatusMessage.php', 1840 1839 'PhabricatorRepositorySvnCommitChangeParserWorker' => 'applications/repository/worker/commitchangeparser/PhabricatorRepositorySvnCommitChangeParserWorker.php', 1841 1840 'PhabricatorRepositorySvnCommitMessageParserWorker' => 'applications/repository/worker/commitmessageparser/PhabricatorRepositorySvnCommitMessageParserWorker.php', ··· 4459 4458 'PhabricatorRepositoryPushLogSearchEngine' => 'PhabricatorApplicationSearchEngine', 4460 4459 'PhabricatorRepositoryQuery' => 'PhabricatorCursorPagedPolicyAwareQuery', 4461 4460 'PhabricatorRepositorySearchEngine' => 'PhabricatorApplicationSearchEngine', 4462 - 'PhabricatorRepositoryShortcut' => 'PhabricatorRepositoryDAO', 4463 4461 'PhabricatorRepositoryStatusMessage' => 'PhabricatorRepositoryDAO', 4464 4462 'PhabricatorRepositorySvnCommitChangeParserWorker' => 'PhabricatorRepositoryCommitChangeParserWorker', 4465 4463 'PhabricatorRepositorySvnCommitMessageParserWorker' => 'PhabricatorRepositoryCommitMessageParserWorker',
-30
src/applications/diffusion/controller/DiffusionRepositoryListController.php
··· 17 17 $request = $this->getRequest(); 18 18 $controller = id(new PhabricatorApplicationSearchController($request)) 19 19 ->setQueryKey($this->queryKey) 20 - ->setPreface($this->buildShortcuts()) 21 20 ->setSearchEngine(new PhabricatorRepositorySearchEngine()) 22 21 ->setNavigation($this->buildSideNavView()); 23 22 ··· 113 112 ->setIcon('create')); 114 113 115 114 return $crumbs; 116 - } 117 - 118 - private function buildShortcuts() { 119 - $shortcuts = id(new PhabricatorRepositoryShortcut())->loadAll(); 120 - if ($shortcuts) { 121 - $shortcuts = msort($shortcuts, 'getSequence'); 122 - 123 - $rows = array(); 124 - foreach ($shortcuts as $shortcut) { 125 - $rows[] = array( 126 - $shortcut->getName(), 127 - $shortcut->getHref(), 128 - $shortcut->getDescription(), 129 - ); 130 - } 131 - 132 - $list = new PHUIObjectItemListView(); 133 - foreach ($rows as $row) { 134 - $item = id(new PHUIObjectItemView()) 135 - ->setHeader($row[0]) 136 - ->setHref($row[1]) 137 - ->setSubhead(($row[2] ? $row[2] : pht('No Description'))); 138 - $list->addItem($item); 139 - } 140 - $shortcut_panel = array($list, phutil_tag('hr')); 141 - } else { 142 - $shortcut_panel = null; 143 - } 144 - return $shortcut_panel; 145 115 } 146 116 147 117 }
-16
src/applications/repository/storage/PhabricatorRepositoryShortcut.php
··· 1 - <?php 2 - 3 - final class PhabricatorRepositoryShortcut extends PhabricatorRepositoryDAO { 4 - 5 - protected $name; 6 - protected $href; 7 - protected $description; 8 - protected $sequence; 9 - 10 - public function getConfiguration() { 11 - return array( 12 - self::CONFIG_TIMESTAMPS => false, 13 - ) + parent::getConfiguration(); 14 - } 15 - 16 - }
+4
src/infrastructure/storage/patch/PhabricatorBuiltinPatchList.php
··· 1856 1856 'type' => 'sql', 1857 1857 'name' => $this->getPatchPath('20131227.heraldobject.sql'), 1858 1858 ), 1859 + '20131231.dropshortcut.sql' => array( 1860 + 'type' => 'sql', 1861 + 'name' => $this->getPatchPath('20131231.dropshortcut.sql'), 1862 + ), 1859 1863 ); 1860 1864 } 1861 1865 }