Differential D16385 Diff 39408 src/applications/repository/storage/PhabricatorRepositoryCommitData.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/repository/storage/PhabricatorRepositoryCommitData.php
<?php | <?php | ||||
final class PhabricatorRepositoryCommitData extends PhabricatorRepositoryDAO { | final class PhabricatorRepositoryCommitData extends PhabricatorRepositoryDAO { | ||||
/** | |||||
* NOTE: We denormalize this into the commit table; make sure the sizes | |||||
* match up. | |||||
*/ | |||||
const SUMMARY_MAX_LENGTH = 80; | |||||
protected $commitID; | protected $commitID; | ||||
protected $authorName = ''; | protected $authorName = ''; | ||||
protected $commitMessage = ''; | protected $commitMessage = ''; | ||||
protected $commitDetails = array(); | protected $commitDetails = array(); | ||||
protected function getConfiguration() { | protected function getConfiguration() { | ||||
return array( | return array( | ||||
self::CONFIG_TIMESTAMPS => false, | self::CONFIG_TIMESTAMPS => false, | ||||
Show All 14 Lines | final class PhabricatorRepositoryCommitData extends PhabricatorRepositoryDAO { | ||||
} | } | ||||
public function getSummary() { | public function getSummary() { | ||||
$message = $this->getCommitMessage(); | $message = $this->getCommitMessage(); | ||||
return self::summarizeCommitMessage($message); | return self::summarizeCommitMessage($message); | ||||
} | } | ||||
public static function summarizeCommitMessage($message) { | public static function summarizeCommitMessage($message) { | ||||
$max_bytes = id(new PhabricatorRepositoryCommit()) | |||||
->getColumnMaximumByteLength('summary'); | |||||
$summary = phutil_split_lines($message, $retain_endings = false); | $summary = phutil_split_lines($message, $retain_endings = false); | ||||
$summary = head($summary); | $summary = head($summary); | ||||
$summary = id(new PhutilUTF8StringTruncator()) | $summary = id(new PhutilUTF8StringTruncator()) | ||||
->setMaximumBytes(self::SUMMARY_MAX_LENGTH) | ->setMaximumBytes($max_bytes) | ||||
->setMaximumGlyphs(80) | |||||
->truncateString($summary); | ->truncateString($summary); | ||||
return $summary; | return $summary; | ||||
} | } | ||||
public function getCommitDetail($key, $default = null) { | public function getCommitDetail($key, $default = null) { | ||||
return idx($this->commitDetails, $key, $default); | return idx($this->commitDetails, $key, $default); | ||||
} | } | ||||
Show All 21 Lines |