Page MenuHomePhabricator

D21715.id51737.diff
No OneTemporary

D21715.id51737.diff

diff --git a/src/applications/repository/daemon/PhabricatorMercurialGraphStream.php b/src/applications/repository/daemon/PhabricatorMercurialGraphStream.php
--- a/src/applications/repository/daemon/PhabricatorMercurialGraphStream.php
+++ b/src/applications/repository/daemon/PhabricatorMercurialGraphStream.php
@@ -16,13 +16,23 @@
private $local = array();
private $localParents = array();
- public function __construct(PhabricatorRepository $repository, $commit) {
+ public function __construct(PhabricatorRepository $repository,
+ $start_commit = null) {
+
$this->repository = $repository;
+ $command = 'log --template %s --rev %s';
+ $template = '{rev}\1{node}\1{date}\1{parents}\2';
+ if ($start_commit !== null) {
+ $revset = hgsprintf('reverse(ancestors(%s))', $start_commit);
+ } else {
+ $revset = 'reverse(all())';
+ }
+
$future = $repository->getLocalCommandFuture(
- 'log --template %s --rev %s',
- '{rev}\1{node}\1{date}\1{parents}\2',
- hgsprintf('reverse(ancestors(%s))', $commit));
+ $command,
+ $template,
+ $revset);
$this->iterator = new LinesOfALargeExecFuture($future);
$this->iterator->setDelimiter("\2");
diff --git a/src/applications/repository/engine/PhabricatorRepositoryDiscoveryEngine.php b/src/applications/repository/engine/PhabricatorRepositoryDiscoveryEngine.php
--- a/src/applications/repository/engine/PhabricatorRepositoryDiscoveryEngine.php
+++ b/src/applications/repository/engine/PhabricatorRepositoryDiscoveryEngine.php
@@ -781,7 +781,7 @@
private function markUnreachableCommits(PhabricatorRepository $repository) {
// For now, this is only supported for Git.
- if (!$repository->isGit()) {
+ if (!$repository->isGit() && !$repository->isHg()) {
return;
}
@@ -799,7 +799,11 @@
}
// We can share a single graph stream across all the checks we need to do.
- $stream = new PhabricatorGitGraphStream($repository);
+ if ($repository->isGit()) {
+ $stream = new PhabricatorGitGraphStream($repository);
+ } else if ($repository->isHg()) {
+ $stream = new PhabricatorMercurialGraphStream($repository);
+ }
foreach ($old_refs as $old_ref) {
$identifier = $old_ref->getCommitIdentifier();
@@ -812,7 +816,7 @@
private function markUnreachableFrom(
PhabricatorRepository $repository,
- PhabricatorGitGraphStream $stream,
+ PhabricatorRepositoryGraphStream $stream,
$identifier) {
$unreachable = array();

File Metadata

Mime Type
text/plain
Expires
May 14 2024, 6:59 AM (4 w, 5 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6294925
Default Alt Text
D21715.id51737.diff (2 KB)

Event Timeline