Page MenuHomePhabricator
Diviner Phabricator Tech Docs PhabricatorRepositoryRefEngine

final class PhabricatorRepositoryRefEngine
Phabricator Technical Documentation (Repositories)

Update the ref cursors for a repository, which track the positions of branches, bookmarks, and tags.

Tasks

Configuring Repository Engines

Internals

  • protected function log($pattern)

Other Methods

git

hg

Methods

public function setRepository($repository)
Inherited

This method is not documented.
Parameters
PhabricatorRepository$repository
Return
wild

protected function getRepository()
Inherited

This method is not documented.
Return
wild

public function setVerbose($verbose)
Inherited

This method is not documented.
Parameters
$verbose
Return
wild

public function getVerbose()
Inherited

This method is not documented.
Return
wild

public function getViewer()
Inherited

This method is not documented.
Return
wild

protected function newRepositoryLock($repository, $lock_key, $lock_device_only)
Inherited

This method is not documented.
Parameters
PhabricatorRepository$repository
$lock_key
$lock_device_only
Return
wild

protected function log($pattern)
Inherited

This method is not documented.
Parameters
$pattern
Return
wild

final protected function queueCommitImportTask($repository, $commit_phid, $task_priority, $via)
Inherited

This method is not documented.
Parameters
PhabricatorRepository$repository
$commit_phid
$task_priority
$via
Return
wild

final protected function getImportTaskPriority($repository, $refs)
Inherited

This method is not documented.
Parameters
PhabricatorRepository$repository
array$refs
Return
wild

public function setRebuild($rebuild)

This method is not documented.
Parameters
$rebuild
Return
wild

public function getRebuild()

This method is not documented.
Return
wild

public function updateRefs()

This method is not documented.
Return
wild

private function getCursorsForUpdate($repository, $cursors)

This method is not documented.
Parameters
PhabricatorRepository$repository
array$cursors
Return
wild

private function updateBranchStates($repository, $branches)

This method is not documented.
Parameters
PhabricatorRepository$repository
array$branches
Return
wild

private function markPositionNew($position)

This method is not documented.
Parameters
PhabricatorRepositoryRefPosition$position
Return
wild

private function markPositionDead($position)

This method is not documented.
Parameters
PhabricatorRepositoryRefPosition$position
Return
wild

private function markPermanentCommits($identifiers)

This method is not documented.
Parameters
array$identifiers
Return
wild

private function removeMissingCommits($identifiers)

Remove commits which no longer exist in the repository from a list.

After a force push and garbage collection, we may have branch cursors which point at commits which no longer exist. This can make commands issued later fail. See T5839 for discussion.

Parameters
list<string>$identifiersList of commit identifiers.
Return
list<string>List with nonexistent identifiers removed.

private function updateCursors($cursors, $new_refs, $ref_type, $all_closing_heads)

This method is not documented.
Parameters
array$cursors
array$new_refs
$ref_type
array$all_closing_heads
Return
wild

private function loadNewCommitIdentifiers($new_head, $all_closing_heads)

Find all ancestors of a new closing branch head which are not ancestors of any old closing branch head.

Parameters
$new_head
array$all_closing_heads
Return
wild

private function setPermanentFlagOnCommits($identifiers)

Mark a list of commits as permanent, and queue workers for those commits which don't already have the flag.

Parameters
array$identifiers
Return
wild

private function newRefCursor($repository, $ref_type, $ref_name)

This method is not documented.
Parameters
PhabricatorRepository$repository
$ref_type
$ref_name
Return
wild

private function saveNewPositions()

This method is not documented.
Return
wild

private function deleteDeadPositions()

This method is not documented.
Return
wild

private function loadGitRefPositions($repository)

This method is not documented.
Parameters
PhabricatorRepository$repository
Return
wild

private function loadMercurialBranchPositions($repository)

This method is not documented.
Parameters
PhabricatorRepository$repository
Return
wild

private function loadMercurialBookmarkPositions($repository)

This method is not documented.
Parameters
PhabricatorRepository$repository
Return
wild