@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
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Change repository "Clone/Checkout As" to "Short Name"

Summary:
Ref T4245.

- Rename "Clone/Checkout As" to "Short Name" in the UI.
- Allow any repository to have a short name, not just hosted repositories.

Test Plan:
- Ran migration.
- Reviewed old transactions, saw they looked good.
- Edited an existing repository's short name.
- Gave an imported repository a new short name.
- Removed a repository's short name.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T4245

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

+31 -45
+2
resources/sql/autopatches/20160111.repo.01.slugx.sql
··· 1 + UPDATE {$NAMESPACE}_repository.repository_transaction 2 + SET transactionType = 'repo:slug' WHERE transactionType = 'repo:clone-name';
+13 -26
src/applications/diffusion/controller/DiffusionRepositoryEditBasicController.php
··· 17 17 18 18 $v_name = $repository->getName(); 19 19 $v_desc = $repository->getDetail('description'); 20 - $v_clone_name = $repository->getRepositorySlug(); 20 + $v_slug = $repository->getRepositorySlug(); 21 21 $v_projects = PhabricatorEdgeQuery::loadDestinationPHIDs( 22 22 $repository->getPHID(), 23 23 PhabricatorProjectObjectHasProjectEdgeType::EDGECONST); ··· 30 30 $v_name = $request->getStr('name'); 31 31 $v_desc = $request->getStr('description'); 32 32 $v_projects = $request->getArr('projectPHIDs'); 33 - 34 - if ($repository->isHosted()) { 35 - $v_clone_name = $request->getStr('cloneName'); 36 - } 33 + $v_slug = $request->getStr('slug'); 37 34 38 35 if (!strlen($v_name)) { 39 36 $e_name = pht('Required'); ··· 49 46 $type_name = PhabricatorRepositoryTransaction::TYPE_NAME; 50 47 $type_desc = PhabricatorRepositoryTransaction::TYPE_DESCRIPTION; 51 48 $type_edge = PhabricatorTransactions::TYPE_EDGE; 52 - $type_clone_name = PhabricatorRepositoryTransaction::TYPE_CLONE_NAME; 49 + $type_slug = PhabricatorRepositoryTransaction::TYPE_SLUG; 53 50 54 51 $xactions[] = id(clone $template) 55 52 ->setTransactionType($type_name) ··· 60 57 ->setNewValue($v_desc); 61 58 62 59 $xactions[] = id(clone $template) 63 - ->setTransactionType($type_clone_name) 64 - ->setNewValue($v_clone_name); 60 + ->setTransactionType($type_slug) 61 + ->setNewValue($v_slug); 65 62 66 63 $xactions[] = id(clone $template) 67 64 ->setTransactionType($type_edge) ··· 85 82 } catch (PhabricatorApplicationTransactionValidationException $ex) { 86 83 $validation_exception = $ex; 87 84 88 - $e_slug = $ex->getShortMessage($type_clone_name); 85 + $e_slug = $ex->getShortMessage($type_slug); 89 86 } 90 87 } 91 88 } ··· 102 99 ->setName('name') 103 100 ->setLabel(pht('Name')) 104 101 ->setValue($v_name) 105 - ->setError($e_name)); 106 - 107 - if ($repository->isHosted()) { 108 - $form 109 - ->appendChild( 110 - id(new AphrontFormTextControl()) 111 - ->setName('cloneName') 112 - ->setLabel(pht('Clone/Checkout As')) 113 - ->setValue($v_clone_name) 114 - ->setError($e_slug) 115 - ->setCaption( 116 - pht( 117 - 'Optional directory name to use when cloning or checking out '. 118 - 'this repository.'))); 119 - } 120 - 121 - $form 102 + ->setError($e_name)) 103 + ->appendChild( 104 + id(new AphrontFormTextControl()) 105 + ->setName('slug') 106 + ->setLabel(pht('Short Name')) 107 + ->setValue($v_slug) 108 + ->setError($e_slug)) 122 109 ->appendChild( 123 110 id(new PhabricatorRemarkupControl()) 124 111 ->setUser($viewer)
+5 -8
src/applications/diffusion/controller/DiffusionRepositoryEditMainController.php
··· 286 286 $view->addProperty(pht('Type'), $type); 287 287 $view->addProperty(pht('Callsign'), $repository->getCallsign()); 288 288 289 - $clone_name = $repository->getRepositorySlug(); 290 - 291 - if ($repository->isHosted()) { 292 - $view->addProperty( 293 - pht('Clone/Checkout As'), 294 - $clone_name 295 - ? $clone_name.'/' 296 - : phutil_tag('em', array(), $repository->getCloneName().'/')); 289 + $short_name = $repository->getRepositorySlug(); 290 + if ($short_name === null) { 291 + $short_name = $repository->getCloneName(); 292 + $short_name = phutil_tag('em', array(), $short_name); 297 293 } 294 + $view->addProperty(pht('Short Name'), $short_name); 298 295 299 296 $view->invokeWillRenderEvent(); 300 297
+6 -6
src/applications/repository/editor/PhabricatorRepositoryEditor.php
··· 39 39 $types[] = PhabricatorRepositoryTransaction::TYPE_PUSH_POLICY; 40 40 $types[] = PhabricatorRepositoryTransaction::TYPE_CREDENTIAL; 41 41 $types[] = PhabricatorRepositoryTransaction::TYPE_DANGEROUS; 42 - $types[] = PhabricatorRepositoryTransaction::TYPE_CLONE_NAME; 42 + $types[] = PhabricatorRepositoryTransaction::TYPE_SLUG; 43 43 $types[] = PhabricatorRepositoryTransaction::TYPE_SERVICE; 44 44 $types[] = PhabricatorRepositoryTransaction::TYPE_SYMBOLS_LANGUAGE; 45 45 $types[] = PhabricatorRepositoryTransaction::TYPE_SYMBOLS_SOURCES; ··· 98 98 return $object->getCredentialPHID(); 99 99 case PhabricatorRepositoryTransaction::TYPE_DANGEROUS: 100 100 return $object->shouldAllowDangerousChanges(); 101 - case PhabricatorRepositoryTransaction::TYPE_CLONE_NAME: 101 + case PhabricatorRepositoryTransaction::TYPE_SLUG: 102 102 return $object->getRepositorySlug(); 103 103 case PhabricatorRepositoryTransaction::TYPE_SERVICE: 104 104 return $object->getAlmanacServicePHID(); ··· 147 147 case PhabricatorRepositoryTransaction::TYPE_STAGING_URI: 148 148 case PhabricatorRepositoryTransaction::TYPE_AUTOMATION_BLUEPRINTS: 149 149 return $xaction->getNewValue(); 150 - case PhabricatorRepositoryTransaction::TYPE_CLONE_NAME: 150 + case PhabricatorRepositoryTransaction::TYPE_SLUG: 151 151 $name = $xaction->getNewValue(); 152 152 if (strlen($name)) { 153 153 return $name; ··· 220 220 case PhabricatorRepositoryTransaction::TYPE_DANGEROUS: 221 221 $object->setDetail('allow-dangerous-changes', $xaction->getNewValue()); 222 222 return; 223 - case PhabricatorRepositoryTransaction::TYPE_CLONE_NAME: 223 + case PhabricatorRepositoryTransaction::TYPE_SLUG: 224 224 $object->setRepositorySlug($xaction->getNewValue()); 225 225 return; 226 226 case PhabricatorRepositoryTransaction::TYPE_SERVICE: ··· 331 331 case PhabricatorRepositoryTransaction::TYPE_PUSH_POLICY: 332 332 case PhabricatorRepositoryTransaction::TYPE_CREDENTIAL: 333 333 case PhabricatorRepositoryTransaction::TYPE_DANGEROUS: 334 - case PhabricatorRepositoryTransaction::TYPE_CLONE_NAME: 334 + case PhabricatorRepositoryTransaction::TYPE_SLUG: 335 335 case PhabricatorRepositoryTransaction::TYPE_SERVICE: 336 336 case PhabricatorRepositoryTransaction::TYPE_SYMBOLS_SOURCES: 337 337 case PhabricatorRepositoryTransaction::TYPE_SYMBOLS_LANGUAGE: ··· 454 454 } 455 455 break; 456 456 457 - case PhabricatorRepositoryTransaction::TYPE_CLONE_NAME: 457 + case PhabricatorRepositoryTransaction::TYPE_SLUG: 458 458 foreach ($xactions as $xaction) { 459 459 $old = $xaction->getOldValue(); 460 460 $new = $xaction->getNewValue();
+5 -5
src/applications/repository/storage/PhabricatorRepositoryTransaction.php
··· 23 23 const TYPE_PUSH_POLICY = 'repo:push-policy'; 24 24 const TYPE_CREDENTIAL = 'repo:credential'; 25 25 const TYPE_DANGEROUS = 'repo:dangerous'; 26 - const TYPE_CLONE_NAME = 'repo:clone-name'; 26 + const TYPE_SLUG = 'repo:slug'; 27 27 const TYPE_SERVICE = 'repo:service'; 28 28 const TYPE_SYMBOLS_SOURCES = 'repo:symbol-source'; 29 29 const TYPE_SYMBOLS_LANGUAGE = 'repo:symbol-language'; ··· 369 369 '%s enabled protection against dangerous changes.', 370 370 $this->renderHandleLink($author_phid)); 371 371 } 372 - case self::TYPE_CLONE_NAME: 372 + case self::TYPE_SLUG: 373 373 if (strlen($old) && !strlen($new)) { 374 374 return pht( 375 - '%s removed the clone name of this repository.', 375 + '%s removed the short name of this repository.', 376 376 $this->renderHandleLink($author_phid)); 377 377 } else if (strlen($new) && !strlen($old)) { 378 378 return pht( 379 - '%s set the clone name of this repository to "%s".', 379 + '%s set the short name of this repository to "%s".', 380 380 $this->renderHandleLink($author_phid), 381 381 $new); 382 382 } else { 383 383 return pht( 384 - '%s changed the clone name of this repository from "%s" to "%s".', 384 + '%s changed the short name of this repository from "%s" to "%s".', 385 385 $this->renderHandleLink($author_phid), 386 386 $old, 387 387 $new);